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