CMakeLists.txt 818 B

1234567891011121314151617181920212223242526272829303132
  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. endif()
  10. unset(expect_Fortran)
  11. set(expect_NoSuchLanguage 0)
  12. set(LANGUAGES C CXX Fortran CUDA NoSuchLanguage)
  13. if(APPLE)
  14. list(APPEND LANGUAGES OBJC)
  15. endif()
  16. foreach(lang ${LANGUAGES})
  17. check_language(${lang})
  18. if(NOT DEFINED CMAKE_${lang}_COMPILER)
  19. message(FATAL_ERROR "check_language(${lang}) did not set result")
  20. endif()
  21. if(DEFINED expect_${lang})
  22. if(expect_${lang} AND NOT CMAKE_${lang}_COMPILER)
  23. message(FATAL_ERROR "check_language(${lang}) should not fail!")
  24. elseif(NOT expect_${lang} AND CMAKE_${lang}_COMPILER)
  25. message(FATAL_ERROR "check_language(${lang}) should not succeed!")
  26. endif()
  27. endif()
  28. endforeach()