日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

03-cmake语法-变量,字符串

發布時間:2025/7/14 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 03-cmake语法-变量,字符串 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

CMake的基本數據類型是字符串(不區分大小寫),一組字符串在一起稱為列表(list)。

條件判斷中的取值情況如下表:

1, ON, YES, TRUE, Y, 非0的數?
0, OFF, NO, FALSE, N, IGNORE, 空字符串,以“-NOTFOUND”結尾的字符串

?

變量顯式定義

set(VAR a b c)# 輸出 VAR = a;b;cmessage("VAR = ${VAR}")

?set(VAR a)就是一個字符串,set(VAR?a b c)就是一個字符串list。

set(CMAKE_INSTALL_PREFIX "/usr/local" CACHE PATH "Installation Directory")

CACHE PATH表示的含義暫時還沒搞清楚。

??

常用部分內部變量

使用是,使用?set 命令賦值。

比如:

set(CMAKE_BUILD_TYPE "Debug")

  

CMAKE_C_COMPILER指定C編譯器
CMAKE_CXX_COMPILER?
CMAKE_C_FLAGS編譯C文件時的選項,如-g;也可以通過add_definitions添加編譯選項
EXECUTABLE_OUTPUT_PATH可執行文件的存放路徑
LIBRARY_OUTPUT_PATH庫文件路徑
CMAKE_BUILD_TYPEbuild?類型(Debug, Release, ...),CMAKE_BUILD_TYPE=Debug
BUILD_SHARED_LIBS生成分享庫
BUILD_LIBS生成靜態庫

CMAKE_BINARY_DIR

一樣的,cmake 的時候,所在的路徑。(一般,我們新建build,然后cd進去,再cmake ..,這個路徑就是build)(一般我們希望cmake生成的東西單獨在一個文件夾,就是指這里)
PROJECT_BINARY_DIR
<projectname>_BINARY_DIR

CMAKE_SOURCE_DIR

一樣的,表示工程頂層目錄。(和以上的區別,就是這的路徑為build之外,一般指源代碼所在文件路徑)。

PROJECT_SOURCE_DIR

<projectname>_SOURCE_DIR

CMAKE_CURRENT_SOURCE_DIR?CMakeLists.txt 所在路徑

CMAKE_CURRRENT_BINARY_DIR

?如果是 in-source 編譯(沒有新建build),它跟 CMAKE_CURRENT_SOURCE_DIR 一致,如果是 out-of-source 編譯(新建了build),他指的是 target 編譯目錄。

CMAKE_CURRENT_LIST_FILE

?輸出調用這個變量的 CMakeLists.txt 的完整路徑

CMAKE_CURRENT_LIST_LINE

?輸出這個變量所在的行

CMAKE_MODULE_PATH

?這個變量用來定義自己的 cmake 模塊所在的路徑。也就是xxx.cmake文件

EXECUTABLE_OUTPUT_PATH?

?用來重新定義最終結果的存放目錄,可執行文件

LIBRARY_OUTPUT_PATH

?用來重新定義最終結果的存放目錄,庫文件

PROJECT_NAME

返回通過 PROJECT 指令定義的項目名稱

CMAKE_BUILD_TYPE ***

生成 Debug 版和 Release 版的程序

CMAKE_CXX_FLAGS_DEBUG?

***為Debug,使用這個參數生成 Makefile

CMAKE_C_FLAGS_DEBUG?

***為Debug,使用這個參數生成 Makefile

CMAKE_CXX_FLAGS_RELEASE?

***為Release,使用這個參數生成 Makefile

CMAKE_C_FLAGS_RELEASE?

***為Release,使用這個參數生成 Makefile

示例:

PROJECT(main) CMAKE_MINIMUM_REQUIRED(VERSION 2.6) SET(CMAKE_SOURCE_DIR .)SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb") SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")AUX_SOURCE_DIRECTORY(. DIR_SRCS) ADD_EXECUTABLE(main ${DIR_SRCS})

  

將工程設置為Debug模式:

SET(CMAKE_BUILD_TYPE "Debug")

?

變量引用

使用 ${} 比如:

${CMAKE_BINARY_DIR}

  

?

參考

http://www.cnblogs.com/xianghang123/p/3556423.html

https://www.jianshu.com/p/44ba033c262a

?

轉載于:https://www.cnblogs.com/alexYuin/p/8874579.html

總結

以上是生活随笔為你收集整理的03-cmake语法-变量,字符串的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。