CMakeLists.txt 848 B

123456789101112131415161718192021222324252627282930313233
  1. cmake_minimum_required (VERSION 2.8)
  2. project(CheckLanguage NONE)
  3. include(CheckLanguage)
  4. set(langs )
  5. set(expect_C 1)
  6. set(expect_CXX 1)
  7. if(APPLE)
  8. set(expect_OBJC 1)
  9. set(expect_OBJCXX 1)
  10. endif()
  11. unset(expect_Fortran)
  12. set(expect_NoSuchLanguage 0)
  13. set(LANGUAGES C CXX Fortran CUDA NoSuchLanguage)
  14. if(APPLE)
  15. list(APPEND LANGUAGES OBJC OBJCXX)
  16. endif()
  17. foreach(lang ${LANGUAGES})
  18. check_language(${lang})
  19. if(NOT DEFINED CMAKE_${lang}_COMPILER)
  20. message(FATAL_ERROR "check_language(${lang}) did not set result")
  21. endif()
  22. if(DEFINED expect_${lang})
  23. if(expect_${lang} AND NOT CMAKE_${lang}_COMPILER)
  24. message(FATAL_ERROR "check_language(${lang}) should not fail!")
  25. elseif(NOT expect_${lang} AND CMAKE_${lang}_COMPILER)
  26. message(FATAL_ERROR "check_language(${lang}) should not succeed!")
  27. endif()
  28. endif()
  29. endforeach()