| 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() |