I'd like to detect the current project language, for example if I have something like this:
cmake_minimum_required (VERSION 3.0)
project (foo VERSION 1.0 LANGUAGES CXX)
I need something like this
if (project_lang EQUAL "CXX")
# do something for c++
endif ()
Thanks!
You can use global property ENABLED_LANGUAGES:
get_property(languages GLOBAL PROPERTY ENABLED_LANGUAGES)
message("languages: ${languages}")
for project(Foo)
, i.e. default values:
languages: C;CXX;RC
for project(Foo LANGUAGES CXX)
, i.e. C++ project:
languages: CXX;RC
for project(Foo LANGUAGES C)
, i.e. C project:
languages: C;RC
etc.
The best command to check that the exact language is enabled is if(... IN_LIST ...)
(available since CMake 3.3):
if("CXX" IN_LIST languages)
message("C++ enabled")
endif()