CompilerIdVendorTest.cmake.in 1.3 KB

12345678910111213141516171819202122232425262728293031
  1. # This is not supposed to be included by user code, but we need to
  2. # test it.
  3. include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerId.cmake)
  4. set(MY_BINARY_DIR "@CMAKE_CURRENT_BINARY_DIR@/CompilerIdVendor")
  5. file(REMOVE_RECURSE ${MY_BINARY_DIR})
  6. file(MAKE_DIRECTORY ${MY_BINARY_DIR})
  7. set(CMAKE_MyLang_COMPILER ${CMAKE_COMMAND})
  8. set(CMAKE_MyLang_COMPILER_ID_ARG1)
  9. set(CMAKE_MyLang_COMPILER_ID_DIR ${MY_BINARY_DIR})
  10. file(WRITE "${MY_BINARY_DIR}/BogusVendor.cmake" "message(\"This is a BogusVendor compiler\")")
  11. list(APPEND CMAKE_MyLang_COMPILER_ID_VENDORS BogusVendor)
  12. set(CMAKE_MyLang_COMPILER_ID_VENDOR_FLAGS_BogusVendor -P BogusVendor.cmake)
  13. set(CMAKE_MyLang_COMPILER_ID_VENDOR_REGEX_BogusVendor ThisDoesNotMatch_BogusVendor)
  14. file(WRITE "${MY_BINARY_DIR}/MyVendor.cmake" "message(\"This is a MyVendor compiler\")")
  15. list(APPEND CMAKE_MyLang_COMPILER_ID_VENDORS MyVendor)
  16. set(CMAKE_MyLang_COMPILER_ID_VENDOR_FLAGS_MyVendor -P MyVendor.cmake)
  17. set(CMAKE_MyLang_COMPILER_ID_VENDOR_REGEX_MyVendor MyVendor)
  18. set(CMAKE_BINARY_DIR ${MY_BINARY_DIR})
  19. set(userflags)
  20. cmake_determine_compiler_id_vendor(MyLang "${userflags}")
  21. if("${CMAKE_MyLang_COMPILER_ID}" STREQUAL "MyVendor")
  22. message(STATUS "Found MyVendor compiler id!")
  23. else()
  24. message(FATAL_ERROR "Did not find MyVendor compiler id: [${CMAKE_MyLang_COMPILER_ID}]")
  25. endif()