溫馨提示×

c++ cmake編譯如何支持條件編譯

c++
小樊
86
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