| cmake_minimum_required (VERSION 2.8) |
| project(CheckLanguage NONE) |
| include(CheckLanguage) |
| |
| set(langs ) |
| set(expect_C 1) |
| set(expect_CXX 1) |
| |
| if(APPLE) |
| set(expect_OBJC 1) |
| set(expect_OBJCXX 1) |
| endif() |
| unset(expect_Fortran) |
| set(expect_NoSuchLanguage 0) |
| |
| set(LANGUAGES C CXX Fortran CUDA NoSuchLanguage) |
| if(APPLE) |
| list(APPEND LANGUAGES OBJC OBJCXX) |
| endif() |
| |
| foreach(test_lang ${LANGUAGES}) |
| check_language(${test_lang}) |
| if(NOT DEFINED CMAKE_${test_lang}_COMPILER) |
| message(FATAL_ERROR "check_language(${test_lang}) did not set result") |
| endif() |
| if(DEFINED expect_${test_lang}) |
| if(expect_${test_lang} AND NOT CMAKE_${test_lang}_COMPILER) |
| message(FATAL_ERROR "check_language(${test_lang}) should not fail!") |
| elseif(NOT expect_${test_lang} AND CMAKE_${test_lang}_COMPILER) |
| message(FATAL_ERROR "check_language(${test_lang}) should not succeed!") |
| endif() |
| endif() |
| endforeach() |