本文介绍了在cmake中检测项目语言的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想检测当前的项目语言,例如,如果我有这样的内容:
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)
我需要类似的东西
if (project_lang EQUAL "CXX")
# do something for c++
endif ()
谢谢!
推荐答案
您可以使用 :
get_property(languages GLOBAL PROPERTY ENABLED_LANGUAGES)
message("languages: ${languages}")
用于 project(Foo)
,即默认值:
languages: C;CXX;RC
用于项目(Foo语言CXX)
,即C ++项目:
for project(Foo LANGUAGES CXX)
, i.e. C++ project:
languages: CXX;RC
项目(Foo语言C)
,即C项目:
languages: C;RC
等。
最好的命令来检查启用的确切语言是 if(... IN_LIST ...)
(自):
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()
这篇关于在cmake中检测项目语言的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!