CMake 手冊詳解(二十三)


     這段時間因為項目進展不順,翻譯手冊的事情暫時被擱置;今天總算能抽出一點點時間略微彌補一下。CMake的命令在上一節已經介紹完了,因為總結這些用法需要大塊的時間去構思例子,暫且省去這段loos ends,待以后有假期時補上;先進入另一主題:CMake變量。

     CMake變量按功能分有主要有四種不同的類型:1.) 提供信息的變量[共53個];2.) 改變行為的變量[共23個];3.) 描述系統的變量[共24個];4.)控制構建過程的變量[共22個]。此外還有一些變量因編譯使用的語言不同而不同,將它們歸為第五類[共29個]。  由於變量比較多,這里只給出變量的大概描述;具體作用可使用cmake --help-variable variable_name命令查看。    

一、提供信息的變量

  VAR#1-1 : CMAKE_AR  靜態庫的歸檔工具名字。

  VAR#1-2 : CMAKE_BINARY_DIR  構建樹的頂層路徑。

  VAR#1-3 : CMAKE_BUILD_TOOL  實際構建過程中使用的工具。

  VAR#1-4 : CMAKE_CACHEFILE_DIR  文件CMakeCache.txt所在的路徑。

  VAR#1-5 : CMAKE_CACHE_MAJOR_VERSION  用於創建CMakeCache.txt文件的CMake的主版本號。

  VAR#1-6 : VCMAKE_CACHE_MINOR_VERSION  用於創建CMakeCache.txt文件的CMake的子版本號。

  VAR#1-7 : CMAKE_CACHE_PATCH_VERSION  用於創建CMakeCache.txt文件的CMake的補丁號。

  VAR#1-8 : CMAKE_CFG_INTDIR 構建時,與構建配置相對應的輸出子路徑(只讀)。

  VAR#1-9 : CMAKE_COMMAND 指向CMake可執行文件的完整路徑。

  VAR#1-10 : CMAKE_CROSSCOMPILING  指出CMake是否正在交叉編譯。

  VAR#1-11 : CMAKE_CTEST_COMMAND  與cmake一起安裝的ctest命令的完整路徑。

  VAR#1-12 : CMAKE_CURRENT_BINARY_DIR 當前正在被處理的二進制目錄的路徑。

  VAR#1-13 : CMAKE_CURRENT_LIST_DIR  當前正在處理的listfile的完整目錄。

  VAR#1-14 : CMAKE_CURRENT_LIST_FILE  當前正在處理的listfile的完整路徑。

  VAR#1-15 : CMAKE_CURRENT_LIST_LINE  當前正在處理的listfile的行號。

  VAR#1-16 : CMAKE_CURRENT_SOURCE_DIR  指向正在被處理的源碼目錄的路徑。

  VAR#1-17 : CMAKE_DL_LIBS  包含dlopen和dlclose函數的庫的名稱。

  VAR#1-18 : CMAKE_EDIT_COMMAND  指向cmake-gui或ccmake的完整路徑。

  VAR#1-19 : CMAKE_EXECUTABLE_SUFFIX(_<LANG>) 本平台上可執行文件的后綴。

  VAR#1-20 : CMAKE_EXTRA_GENERATOR  構建本工程所需要的額外生成器。

  VAR#1-21 : CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES 附加的共享庫后綴(除CMAKE_SHARED_LIBRARY_SUFFIX以外,其他可以識別的共享庫的后綴名。

  VAR#1-22 : CMAKE_GENERATOR  用於構建該工程的生成器。

  VAR#1-23 : CMAKE_HOME_DIRECTORY 指向源碼樹頂層的路徑。

  VAR#1-24 : CMAKE_IMPORT_LIBRARY_PREFIX(_<LANG>)  需要鏈接的導入庫的前綴。

  VAR#1-25 : CMAKE_IMPORT_LIBRARY_SUFFIX(_<LANG>)  需要鏈接的導入庫的后綴。

  VAR#1-26 : CMAKE_LINK_LIBRARY_SUFFIX  需要鏈接的庫的后綴。

  VAR#1-27 : CMAKE_MAJOR_VERSION  cmake的主版本號(例如2.X.X中的2)。

  VAR#1-28 : CMAKE_MAKE_PROGRAM  參見CMAKE_BUILD_TOOL。

  VAR#1-29 : CMAKE_MINOR_VERSION  cmake的次版本號(例如X.4.X中的4)。

  VAR#1-30 : CMAKE_PARENT_LIST_FILE  當前正在被處理listfile的父listfile的全路徑。

  VAR#1-31 : CMAKE_PATCH_VERSION  cmake的補丁號(例如X.X.3中的3)。

  VAR#1-32 : CMAKE_PROJECT_NAME  當前工程的工程名。

  VAR#1-33 : CMAKE_RANLIB  靜態庫的隨機化工具的名字(比如linux下的ranlib)。

  VAR#1-34 : CMAKE_ROOT  CMake的安裝路徑。

  VAR#1-35 : CMAKE_SHARED_LIBRARY_PREFIX(_<LANG>)  被鏈接的共享庫的前綴。

  VAR#1-36 : CMAKE_SHARED_LIBRARY_SUFFIX(_<LANG>)  被鏈接的共享庫的后綴。

  VAR#1-37 : CMAKE_SHARED_MODULE_PREFIX(_<LANG>)  被鏈接的可加載模塊的前綴。

  VAR#1-38 : CMAKE_SHARED_MODULE_SUFFIX(_<LANG>)  被鏈接的共享庫的后綴。

  VAR#1-39 : CMAKE_SIZEOF_VOID_P void指針的長度。

  VAR#1-40 : CMAKE_SKIP_RPATH  如果變量為真,不為編譯出的可執行文件添加運行時的路徑信息。默認添加。

  VAR#1-41 : CMAKE_SOURCE_DIR  源碼樹的頂層路徑。

  VAR#1-42 : CMAKE_STANDARD_LIBRARIES  鏈接到所有可執行文件和共享庫上的庫。這是一個list。

  VAR#1-43 : CMAKE_STATIC_LIBRARY_PREFIX(_<LANG>)  被鏈接的靜態庫的前綴。

  VAR#1-44 : CMAKE_STATIC_LIBRARY_SUFFIX(_<LANG>)  被鏈接的靜態庫的后綴。

  VAR#1-45 : CMAKE_TWEAK_VERSION  cmake的tweak版本號(例如X.X.X.1中的1)。

  VAR#1-46 : CMAKE_USING_VC_FREE_TOOLS  如果用到了免費的visual studio工具,設置為真。

  VAR#1-47 : CMAKE_VERBOSE_MAKEFILE  設置該變量為真將創建完整版本的makefile。

  VAR#1-48 : CMAKE_VERSION  cmake的完整版本號;格式為major.minor.patch[.tweak[-id]]。

  VAR#1-49 : PROJECT_BINARY_DIR  指向工程構建目錄的全路徑。

  VAR#1-50 : PROJECT_NAME  向project命令傳遞的工程名參數。

  VAR#1-51 : PROJECT_SOURCE_DIR  當前工程的源碼路徑。

  VAR#1-52 : [Project name]_BINARY_DIR  給定工程的二進制文件頂層路徑。

  VAR#1-53 : [Project name]_SOURCE_DIR  給定工程的源碼頂層路徑。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM