You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

23 lines
775 B

enable_language(CXX)
set(variable_suffixes
COMPILER COMPILER_ID COMPILER_VERSION COMPILER_TARGET
IMPLICIT_INCLUDE_DIRECTORIES IMPLICIT_LINK_DIRECTORIES
IMPLICIT_LINK_FRAMEWORK_DIRECTORIES IMPLICIT_LINK_LIBRARIES
SOURCE_FILE_EXTENSIONS)
set(language CXX)
set(json "{}")
foreach(variable_suffix ${variable_suffixes})
set(variable "CMAKE_${language}_${variable_suffix}")
string(JSON json SET "${json}" "${variable}" "{}")
if(DEFINED "${variable}")
string(JSON json SET "${json}" "${variable}" "defined" "true")
string(JSON json SET "${json}" "${variable}" "value" "\"${${variable}}\"")
else()
string(JSON json SET "${json}" "${variable}" "defined" "false")
endif()
endforeach()
file(WRITE ${CMAKE_BINARY_DIR}/toolchain_variables.json "${json}")