]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - easy-builder
Merge branch 'NateEag-master-patch-12920' into 'master'
[xonotic/netradiant.git] / easy-builder
index ad55492cafa7a29006d08080b1b5162f757b20a5..47020d2d2d4892c4c0c8151beea9765bc4eccdbb 100755 (executable)
@@ -14,10 +14,27 @@ install_dir="${project_source_dir}/install${SUBDIR:+/${SUBDIR}}"
 install_target='install/strip'
 build_type='Release'
 
-if [ "$(uname -s)" = 'FreeBSD' ]
-then
-       install_target='install'
-fi
+case "$(uname -s)" in
+       # Stripping is known to make non-PIE Linux netradiant binary unusable.
+       # Maybe that's related to the way we patch rpath?
+       #
+       # Building NetRadiant as non-PIE is required because of
+       # a mistake in the mimetype-library that prevents users
+       # to run the application from file managers on Linux.
+       #
+       # See: https://gitlab.freedesktop.org/xdg/shared-mime-info/-/issues/11
+       #
+       # After installation it's possible to strip manually all binaries except
+       # the netradiant one.
+       'Linux')
+               install_target='install'
+               ;;
+       # Stripping is known to make FreeBSD binaries unusable.
+       # Maybe that's related to the way we patch rpath?
+       'FreeBSD')
+               install_target='install'
+               ;;
+esac
 
 _job_count=4
 
@@ -77,8 +94,7 @@ do
 done
 
 declare -a fetch_submodules_cmd
-for submodule_file in 'libs/crunch/inc/crn_decomp.h' \
-       'tools/unvanquished/daemonmap/tools/quake3/q3map2/main.c'
+for submodule_file in 'libs/crunch/inc/crn_decomp.h'
 do
        if ! [ -f "${project_source_dir}/${submodule_file}" ]
        then
@@ -118,6 +134,11 @@ task_build_builtins () {
        make -j"${job_count}" builtins
 }
 
+task_discover_builtins () {
+       sync
+       cmake "${project_source_dir}"
+}
+
 task_build () {
        sync
        make -j"${job_count}"
@@ -138,6 +159,8 @@ task_configure
 
 task_build_builtins
 
+task_discover_builtins
+
 task_build
 
 task_install