| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- # If testing with a specific CMAKE_CXX_COMPILER_ARG1 value is requested, skip
- # any checks that try to actually compile anything, because the compiler
- # probably wouldn't understand these arguments or lack thereof.
- if(DEFINED TOOLCHAINSV1_COMPILERARGS)
- if(TOOLCHAINSV1_COMPILERARGS EQUAL 1)
- set(CMAKE_CXX_COMPILER_ARG1 "")
- elseif(TOOLCHAINSV1_COMPILERARGS EQUAL 2)
- set(CMAKE_CXX_COMPILER_ARG1 "--hello world --something=other")
- endif()
- set(CMAKE_CXX_COMPILER_WORKS 1)
- set(CMAKE_CXX_ABI_COMPILED 1)
- else()
- set(TOOLCHAINSV1_COMPILERARGS 0)
- endif()
- enable_language(CXX)
- set(variable_suffixes
- COMPILER COMPILER_ARG1 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()
- string(JSON json SET "${json}" "TOOLCHAINSV1_COMPILERARGS" "${TOOLCHAINSV1_COMPILERARGS}")
- file(WRITE ${CMAKE_BINARY_DIR}/toolchain_variables.json "${json}")
- if(FAIL)
- message(FATAL_ERROR "Intentionally fail to configure")
- endif()
|