summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/try_compile/EnvConfig.cmake
blob: 6e668259d1f6f33e06ccb41bd31e456c48250827 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
include(${CMAKE_CURRENT_SOURCE_DIR}/${try_compile_DEFS})

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 "${try_compile_bindir_or_SOURCES}"
  ${try_compile_redundant_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()