在C++中,使用CMake进行条件编译可以通过if()
函数来实现。以下是一个简单的示例,展示了如何在CMakeLists.txt文件中根据不同的条件选择性地编译代码:
cmake_minimum_required(VERSION 3.0)
project(MyProject)
# 设置一个变量
set(MY_FEATURE "ON")
# 根据变量的值选择性地编译代码
if(MY_FEATURE STREQUAL "ON")
message(STATUS "Enabling MY_FEATURE")
# 添加支持MY_FEATURE的源文件
add_executable(MyProject main.cpp feature.cpp)
else()
message(STATUS "Disabling MY_FEATURE")
# 添加不包含MY_FEATURE的源文件
add_executable(MyProject main.cpp)
endif()
在这个示例中,我们首先设置了一个名为MY_FEATURE
的变量,并将其值设置为"ON"
。然后,我们使用if()
函数检查MY_FEATURE
的值。如果它的值等于"ON"
,则添加支持该功能的源文件(在本例中为feature.cpp
);否则,只添加不包含该功能的源文件(在本例中仅为main.cpp
)。
你可以根据需要修改这个示例,以适应你的项目中的条件编译需求。