diff options
author | Brad King <brad.king@kitware.com> | 2021-11-23 14:54:56 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2021-11-23 14:55:17 (GMT) |
commit | 4133c426c2efe3226a3c145af8cce8fd658776c8 (patch) | |
tree | b7316fe6648d28cb24b3b594ca35fafad8708562 /Tests | |
parent | 0e0a2f3fe208d361779bb8b176d3770bdade4cd2 (diff) | |
parent | 5b1ed2a64650405127d434f6267fb10baf1401d4 (diff) | |
download | CMake-4133c426c2efe3226a3c145af8cce8fd658776c8.zip CMake-4133c426c2efe3226a3c145af8cce8fd658776c8.tar.gz CMake-4133c426c2efe3226a3c145af8cce8fd658776c8.tar.bz2 |
Merge topic 'env-init-configs'
5b1ed2a646 try_compile: Do not use CMAKE_BUILD_TYPE or CMAKE_CONFIGURATION_TYPES env vars
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6755
Diffstat (limited to 'Tests')
-rw-r--r-- | Tests/RunCMake/try_compile/EnvConfig.c | 7 | ||||
-rw-r--r-- | Tests/RunCMake/try_compile/EnvConfig.cmake | 18 | ||||
-rw-r--r-- | Tests/RunCMake/try_compile/RunCMakeTest.cmake | 2 |
3 files changed, 27 insertions, 0 deletions
diff --git a/Tests/RunCMake/try_compile/EnvConfig.c b/Tests/RunCMake/try_compile/EnvConfig.c new file mode 100644 index 0000000..5b1d400 --- /dev/null +++ b/Tests/RunCMake/try_compile/EnvConfig.c @@ -0,0 +1,7 @@ +#ifdef TC_CONFIG_BAD +# error "Built in 'Bad' config" +#endif +int main(void) +{ + return 0; +} diff --git a/Tests/RunCMake/try_compile/EnvConfig.cmake b/Tests/RunCMake/try_compile/EnvConfig.cmake new file mode 100644 index 0000000..4040c59 --- /dev/null +++ b/Tests/RunCMake/try_compile/EnvConfig.cmake @@ -0,0 +1,18 @@ +enable_language(C) + +set(ENV{CMAKE_BUILD_TYPE} "Bad") +set(ENV{CMAKE_CONFIGURATION_TYPES} "Bad;Debug") + +add_library(tc_defs INTERFACE IMPORTED) +target_compile_definitions(tc_defs INTERFACE "TC_CONFIG_$<UPPER_CASE:$<CONFIG>>") + +try_compile(ENV_CONFIG_RESULT "${CMAKE_BINARY_DIR}" + SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/EnvConfig.c" + COPY_FILE "${CMAKE_CURRENT_BINARY_DIR}/EnvConfig.bin" + OUTPUT_VARIABLE tc_output + LINK_LIBRARIES tc_defs + ) +if(NOT ENV_CONFIG_RESULT) + string(REPLACE "\n" "\n " tc_output " ${tc_output}") + message(FATAL_ERROR "try_compile failed:\n${tc_output}") +endif() diff --git a/Tests/RunCMake/try_compile/RunCMakeTest.cmake b/Tests/RunCMake/try_compile/RunCMakeTest.cmake index 4f2cc5c..dcd3799 100644 --- a/Tests/RunCMake/try_compile/RunCMakeTest.cmake +++ b/Tests/RunCMake/try_compile/RunCMakeTest.cmake @@ -16,6 +16,8 @@ run_cmake(BadSources2) run_cmake(NonSourceCopyFile) run_cmake(NonSourceCompileDefinitions) +run_cmake(EnvConfig) + set(RunCMake_TEST_OPTIONS --debug-trycompile) run_cmake(PlatformVariables) run_cmake(WarnDeprecated) |