1
0
forked from 0ad/0ad

Allow system cxxtest

Add option to build-source-libs and premake to uses system provided
cxxtest.

Closes: #5792

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
This commit is contained in:
Ralph Sennhauser 2024-09-18 19:49:16 +02:00
parent dabbff4c45
commit b885be85b3
Signed by: sera
SSH Key Fingerprint: SHA256:peL4nxsVEHY8tOsBHev85LILY2TqpfHeutw4LUbOFPQ
3 changed files with 17 additions and 6 deletions

View File

@ -254,10 +254,12 @@ extern_lib_defs = {
}, },
cxxtest = { cxxtest = {
compile_settings = function() compile_settings = function()
if externalincludedirs then if not _OPTIONS["with-system-cxxtest"] then
externalincludedirs { libraries_source_dir .. "cxxtest-4.4" } if externalincludedirs then
else externalincludedirs { libraries_source_dir .. "cxxtest-4.4" }
sysincludedirs { libraries_source_dir .. "cxxtest-4.4" } else
sysincludedirs { libraries_source_dir .. "cxxtest-4.4" }
end
end end
end, end,
}, },

View File

@ -6,6 +6,7 @@ newoption { trigger = "icc", description = "Use Intel C++ Compiler (Linux only;
newoption { trigger = "jenkins-tests", description = "Configure CxxTest to use the XmlPrinter runner which produces Jenkins-compatible output" } newoption { trigger = "jenkins-tests", description = "Configure CxxTest to use the XmlPrinter runner which produces Jenkins-compatible output" }
newoption { trigger = "minimal-flags", description = "Only set compiler/linker flags that are really needed. Has no effect on Windows builds" } newoption { trigger = "minimal-flags", description = "Only set compiler/linker flags that are really needed. Has no effect on Windows builds" }
newoption { trigger = "outpath", description = "Location for generated project files" } newoption { trigger = "outpath", description = "Location for generated project files" }
newoption { trigger = "with-system-cxxtest", description = "Search standard paths for cxxtest, instead of using bundled copy" }
newoption { trigger = "with-system-mozjs", description = "Search standard paths for libmozjs91, instead of using bundled copy" } newoption { trigger = "with-system-mozjs", description = "Search standard paths for libmozjs91, instead of using bundled copy" }
newoption { trigger = "with-system-nvtt", description = "Search standard paths for nvidia-texture-tools library, instead of using bundled copy" } newoption { trigger = "with-system-nvtt", description = "Search standard paths for nvidia-texture-tools library, instead of using bundled copy" }
newoption { trigger = "with-valgrind", description = "Enable Valgrind support (non-Windows only)" } newoption { trigger = "with-valgrind", description = "Enable Valgrind support (non-Windows only)" }
@ -1399,7 +1400,11 @@ function setup_tests()
if os.istarget("windows") then if os.istarget("windows") then
cxxtest.setpath(rootdir.."/build/bin/cxxtestgen.exe") cxxtest.setpath(rootdir.."/build/bin/cxxtestgen.exe")
else else
cxxtest.setpath(rootdir.."/libraries/source/cxxtest-4.4/bin/cxxtestgen") if _OPTIONS["with-system-cxxtest"] then
cxxtest.setpath("/usr/bin/cxxtestgen")
else
cxxtest.setpath(rootdir.."/libraries/source/cxxtest-4.4/bin/cxxtestgen")
end
end end
local runner = "ErrorPrinter" local runner = "ErrorPrinter"

View File

@ -22,6 +22,7 @@ case "$(realpath .)" in
esac esac
without_nvtt=false without_nvtt=false
with_system_cxxtest=false
with_system_nvtt=false with_system_nvtt=false
with_system_mozjs=false with_system_mozjs=false
with_spirv_reflect=false with_spirv_reflect=false
@ -31,6 +32,7 @@ JOBS=${JOBS:="-j2"}
for i in "$@"; do for i in "$@"; do
case $i in case $i in
--without-nvtt) without_nvtt=true ;; --without-nvtt) without_nvtt=true ;;
--with-system-cxxtest) with_system_cxxtest=true ;;
--with-system-nvtt) with_system_nvtt=true ;; --with-system-nvtt) with_system_nvtt=true ;;
--with-system-mozjs) with_system_mozjs=true ;; --with-system-mozjs) with_system_mozjs=true ;;
--with-spirv-reflect) with_spirv_reflect=true ;; --with-spirv-reflect) with_spirv_reflect=true ;;
@ -55,7 +57,9 @@ export MAKE JOBS
echo "Building third-party dependencies..." echo "Building third-party dependencies..."
echo echo
./source/cxxtest-4.4/build.sh || die "cxxtest build failed" if [ "$with_system_cxxtest" = "false" ]; then
./source/cxxtest-4.4/build.sh || die "cxxtest build failed"
fi
echo echo
./source/fcollada/build.sh || die "FCollada build failed" ./source/fcollada/build.sh || die "FCollada build failed"
echo echo