Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Kitware
GitHub Repository: Kitware/CMake
Path: blob/master/Tests/CMakeOnly/CheckLanguage/CMakeLists.txt
3153 views
1
cmake_minimum_required(VERSION 3.10)
2
project(CheckLanguage NONE)
3
include(CheckLanguage)
4
5
set(langs )
6
set(expect_C 1)
7
set(expect_CXX 1)
8
9
if(APPLE)
10
set(expect_OBJC 1)
11
set(expect_OBJCXX 1)
12
endif()
13
unset(expect_Fortran)
14
set(expect_NoSuchLanguage 0)
15
16
set(LANGUAGES C CXX Fortran CUDA HIP ASM NoSuchLanguage)
17
if(APPLE)
18
list(APPEND LANGUAGES OBJC OBJCXX)
19
endif()
20
21
foreach(test_lang ${LANGUAGES})
22
check_language(${test_lang})
23
if(NOT DEFINED CMAKE_${test_lang}_COMPILER)
24
message(FATAL_ERROR "check_language(${test_lang}) did not set result")
25
endif()
26
if(DEFINED expect_${test_lang})
27
if(expect_${test_lang} AND NOT CMAKE_${test_lang}_COMPILER)
28
message(FATAL_ERROR "check_language(${test_lang}) should not fail!")
29
elseif(NOT expect_${test_lang} AND CMAKE_${test_lang}_COMPILER)
30
message(FATAL_ERROR "check_language(${test_lang}) should not succeed!")
31
endif()
32
endif()
33
if(CMAKE_${test_lang}_COMPILER)
34
enable_language(${test_lang})
35
endif()
36
endforeach()
37
38