diff options
author | Marc Chevrier <marc.chevrier@gmail.com> | 2022-12-08 13:52:56 (GMT) |
---|---|---|
committer | Marc Chevrier <marc.chevrier@gmail.com> | 2022-12-13 15:54:56 (GMT) |
commit | 7480fa0a5fd0ebc3fe06c702f3368e06a50c10ab (patch) | |
tree | 1b2e7a5a5a2a6297a763385535c233817f53d5e8 /Tests/RunCMake/CompileDefinitions | |
parent | ff875ed8591afdb87055b8e43b1fcd04438a4d1e (diff) | |
download | CMake-7480fa0a5fd0ebc3fe06c702f3368e06a50c10ab.zip CMake-7480fa0a5fd0ebc3fe06c702f3368e06a50c10ab.tar.gz CMake-7480fa0a5fd0ebc3fe06c702f3368e06a50c10ab.tar.bz2 |
COMPILE_DEFINITIONS property: ensure leading -D is removed in all cases
Fixes: #24186
Diffstat (limited to 'Tests/RunCMake/CompileDefinitions')
-rw-r--r-- | Tests/RunCMake/CompileDefinitions/RemoveLeadingMinusD.cmake | 11 | ||||
-rw-r--r-- | Tests/RunCMake/CompileDefinitions/RunCMakeTest.cmake | 13 | ||||
-rw-r--r-- | Tests/RunCMake/CompileDefinitions/foo.c | 4 |
3 files changed, 28 insertions, 0 deletions
diff --git a/Tests/RunCMake/CompileDefinitions/RemoveLeadingMinusD.cmake b/Tests/RunCMake/CompileDefinitions/RemoveLeadingMinusD.cmake new file mode 100644 index 0000000..3db6cff1f --- /dev/null +++ b/Tests/RunCMake/CompileDefinitions/RemoveLeadingMinusD.cmake @@ -0,0 +1,11 @@ + +enable_language(C) + +set_property(SOURCE foo.c PROPERTY COMPILE_DEFINITIONS -DDEF0 "$<1:-DDEF1>") + +add_library(lib1 foo.c) +set_property(TARGET lib1 PROPERTY COMPILE_DEFINITIONS -DDEF2 "$<1:-DDEF3>") +set_property(TARGET lib1 PROPERTY INTERFACE_COMPILE_DEFINITIONS -DDEF4 "$<1:-DDEF5>") + +add_library(lib2 foo.c) +target_link_libraries(lib2 PRIVATE lib1) diff --git a/Tests/RunCMake/CompileDefinitions/RunCMakeTest.cmake b/Tests/RunCMake/CompileDefinitions/RunCMakeTest.cmake index 233fe34..eebcd22 100644 --- a/Tests/RunCMake/CompileDefinitions/RunCMakeTest.cmake +++ b/Tests/RunCMake/CompileDefinitions/RunCMakeTest.cmake @@ -1,3 +1,16 @@ include(RunCMake) run_cmake(SetEmpty) + + +macro(run_cmake_build test) + set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${test}-build) + set(RunCMake_TEST_NO_CLEAN 1) + run_cmake_command(${test} ${CMAKE_COMMAND} --build . --config Release) + + unset(RunCMake_TEST_BINARY_DIR) + unset(RunCMake_TEST_NO_CLEAN) +endmacro() + +run_cmake(RemoveLeadingMinusD) +run_cmake_build(RemoveLeadingMinusD) diff --git a/Tests/RunCMake/CompileDefinitions/foo.c b/Tests/RunCMake/CompileDefinitions/foo.c new file mode 100644 index 0000000..74a86e1 --- /dev/null +++ b/Tests/RunCMake/CompileDefinitions/foo.c @@ -0,0 +1,4 @@ + +void foo() +{ +} |