24 lines
762 B
CMake
24 lines
762 B
CMake
enable_language(C)
|
|
|
|
# Normally this variable should be set by a platform information module or
|
|
# a toolchain file, but for purposes of this test we simply set it here.
|
|
set(CMAKE_TRY_COMPILE_PLATFORM_VARIABLES MY_CUSTOM_VARIABLE)
|
|
|
|
set(MY_CUSTOM_VARIABLE SOME_VALUE)
|
|
|
|
try_compile(result ${CMAKE_CURRENT_BINARY_DIR}
|
|
SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/src.c
|
|
OUTPUT_VARIABLE out
|
|
)
|
|
if(NOT result)
|
|
message(FATAL_ERROR "try_compile failed:\n${out}")
|
|
endif()
|
|
|
|
# Check that the cache was populated with our custom variable.
|
|
file(STRINGS ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp/CMakeCache.txt entries
|
|
REGEX MY_CUSTOM_VARIABLE:UNINITIALIZED=${MY_CUSTOM_VARIABLE}
|
|
)
|
|
if(NOT entries)
|
|
message(FATAL_ERROR "try_compile did not populate cache as expected")
|
|
endif()
|