在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)。
你可以根据需要修改这个示例,以适应你的项目中的条件编译需求。


