c++

c++ cmake编译如何支持条件编译

小樊
82
2024-09-27 17:58:42
栏目: 编程语言

在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)。

你可以根据需要修改这个示例,以适应你的项目中的条件编译需求。

0
看了该问题的人还看了