博客專欄

EEPW首頁 > 博客 > CMake通過外部傳參執(zhí)行不同邏輯的2種方案

CMake通過外部傳參執(zhí)行不同邏輯的2種方案

發(fā)布人:電子禪石 時間:2024-11-15 來源:工程師 發(fā)布文章

有時候一些場景需要在執(zhí)行cmake指令時傳入一些參數(shù)的值,使得CMakeLists.txt文件中的程序執(zhí)行不同的邏輯,下面給出2種方案。

1、SET指令給參數(shù)默認值

SET(BUILD_PLATFORM "x86" CACHE STRING "select build cpu type")
 # 外部用cmake . -DBUILD_PLATFORM=arm進行值傳入,便可以執(zhí)行不同的邏輯
if (BUILD_PLATFORM STREQUAL arm)
  message("this is arm platform")
else()
  message("this is x86 platform")
endif()

   默認情況下會執(zhí)行else,打印“this is x86 platform”,但可以更改,比如運行cmake指令時如下:

        cmake . -DBUILD_PLATFORM=arm

  那么打印出來的是“this is arm platform”。

2、OPTION指令開關

option(USE_AEC "Set to switch to build use AEC"  OFF)
# 外部用cmake . -DUSE_AEC=ON進行值傳入,便可以執(zhí)行不同的邏輯
if (USE_AEC) #根據(jù)宏開關判斷邏輯
    message("use aec to restrict audio echo")
else()
    message("do not use aec")
endif()

  默認情況下會執(zhí)行else,打印“do not use aec”,但若運行cmake指令時如下:

        cmake . -DUSE_AEC=ON

    則會打印出“use aec to restrict audio echo”。


*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。



關鍵詞: cmake

技術專區(qū)

關閉