From 43f9b90c92b58f3af723b69a21821f4c8713f761 Mon Sep 17 00:00:00 2001 From: "Markus F.X.J. Oberhumer" Date: Fri, 24 May 2024 09:17:37 +0200 Subject: [PATCH] cmake update --- .gitignore | 33 +++++++++++++++++++-------------- CMakeLists.txt | 6 +++--- misc/cmake/functions.cmake | 3 ++- 3 files changed, 24 insertions(+), 18 deletions(-) diff --git a/.gitignore b/.gitignore index 049705a8..d9271987 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,9 @@ +/.cache* /.hg* /.vscode* +/CMakeCache* +/CMakeFiles* +/CTest* /Makevars[.-]global* /Testing* /build* @@ -9,6 +13,7 @@ GNUmakefile* MMakefile* Makevars[.-]local* +compile_commands*.json compile_flags*.txt Tmp* tmp* @@ -37,19 +42,19 @@ tmp* *.zip *.zst -doc/*.man -doc/*.ps -doc/*.tex +/doc/*.man +/doc/*.ps +/doc/*.tex -src/stub/**/.*-stamp -src/stub/tmp*/*.bin -src/stub/tmp*/*.bin.bindump -src/stub/tmp*/*.bin.disasm -src/stub/tmp*/*.o.disasm -src/stub/tmp*/mips.r3000-*.[is] -src/stub/tmp*/mipsel.r3000-*.[is] -src/stub/src/**/tmp*/* +/src/stub/**/.*-stamp +/src/stub/src/**/tmp*/* +/src/stub/tmp*/*.bin +/src/stub/tmp*/*.bin.bindump +/src/stub/tmp*/*.bin.disasm +/src/stub/tmp*/*.o.disasm +/src/stub/tmp*/mips.r3000-*.[is] +/src/stub/tmp*/mipsel.r3000-*.[is] -src/stub/tools/sstrip/amd64-linux-sstrip -src/stub/tools/sstrip/i386-linux-sstrip -src/stub/tools/sstrip/sstrip +/src/stub/tools/sstrip/amd64-linux-sstrip +/src/stub/tools/sstrip/i386-linux-sstrip +/src/stub/tools/sstrip/sstrip diff --git a/CMakeLists.txt b/CMakeLists.txt index 0f8a1566..c9f9a6d8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -65,9 +65,7 @@ upx_cmake_include_hook(2_init) # Disallow in-source build. Note that you will still have to manually # clean up a few files if you accidentally try an in-source build. -if(IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/.git") - upx_disallow_in_source_build() -endif() +upx_disallow_in_source_build() # global settings if(${CMAKE_VERSION} VERSION_GREATER "3.14.99" AND NOT DEFINED CMAKE_MSVC_RUNTIME_LIBRARY) @@ -433,6 +431,8 @@ upx_cmake_include_hook(6_test) if(NOT UPX_CONFIG_CMAKE_DISABLE_TEST) +add_custom_command(TARGET upx POST_BUILD COMMAND "${CMAKE_COMMAND}" -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/XTesting/$") + include(CTest) if(NOT CMAKE_CROSSCOMPILING OR CMAKE_CROSSCOMPILING_EMULATOR) upx_add_test(upx-version upx --version) diff --git a/misc/cmake/functions.cmake b/misc/cmake/functions.cmake index 83e880b0..856e4c8e 100644 --- a/misc/cmake/functions.cmake +++ b/misc/cmake/functions.cmake @@ -365,7 +365,8 @@ endfunction() function(upx_add_test) # ARGV set(name "${ARGV0}") list(REMOVE_AT ARGV 0) - add_test(NAME "${name}" COMMAND ${ARGV}) + set(wd "${CMAKE_CURRENT_BINARY_DIR}/XTesting/$") + add_test(NAME "${name}" WORKING_DIRECTORY "${wd}" COMMAND ${ARGV}) endfunction() function(upx_test_depends) # ARGV