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
This commit is contained in:
Brad King
2021-11-23 14:54:56 +00:00
committed by Kitware Robot
5 changed files with 31 additions and 2 deletions
+7
View File
@@ -0,0 +1,7 @@
#ifdef TC_CONFIG_BAD
# error "Built in 'Bad' config"
#endif
int main(void)
{
return 0;
}
@@ -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()
@@ -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)