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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

cmake / aux_source_directory

發布時間:2024/10/14 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 cmake / aux_source_directory 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在目錄中查找所有源文件。

aux_source_directory(<dir> <variable>)

收集指定目錄中所有源文件的名稱,并將列表存儲在提供的變量中。

該命令旨在供使用顯式模板實例化的項目使用。 模板實例化文件可以存儲在Templates子目錄中,并使用此命令自動收集,以避免手動列出所有實例化。

試圖使用此命令來避免編寫庫或可執行目標的源文件列表。 盡管這似乎可行,但是CMake無法生成知道何時添加新源文件的生成系統。 通常,生成的構建系統知道何時需要重新運行CMake,因為修改了CMakeLists.txt文件以添加新的源。 當僅將源代碼添加到目錄而不修改該文件時,將不得不手動重新運行CMake來生成包含新文件的構建系統。

翻譯自官方文檔,原文鏈接為:aux_source_directory

使用示例

CMake 入門實戰提供的示例程序以及對應的 CMakeLists.txt 示例有 aux_source_directory 的使用。

同一目錄,多個源文件

對應的源代碼所在目錄:Demo2
之前的例子只有單個源文件?,F在假如把 power 函數單獨寫進一個名為 MathFunctions.c 的源文件里,使得這個工程變成如下的形式:

./Demo2|+--- main.cc|+--- MathFunctions.cc|+--- MathFunctions.h

這個時候,CMakeLists.txt 可以改成如下的形式:

# CMake 最低版本號要求 cmake_minimum_required (VERSION 2.8)# 項目信息 project (Demo2)# 指定生成目標 add_executable(Demo main.cc MathFunctions.cc)

唯一的改動只是在 add_executable 命令中增加了一個 MathFunctions.cc 源文件。這樣寫當然沒什么問題,但是如果源文件很多,把所有源文件的名字都加進去將是一件煩人的工作。更省事的方法是使用 aux_source_directory 命令,該命令會查找指定目錄下的所有源文件,然后將結果存進指定變量名。其語法如下:

aux_source_directory(<dir> <variable>)

?因此,可以修改 CMakeLists.txt 如下:

# CMake 最低版本號要求 cmake_minimum_required (VERSION 2.8)# 項目信息 project (Demo2)# 查找當前目錄下的所有源文件 # 并將名稱保存到 DIR_SRCS 變量 aux_source_directory(. DIR_SRCS)# 指定生成目標 add_executable(Demo ${DIR_SRCS})

這樣,CMake 會將當前目錄所有源文件的文件名賦值給變量 DIR_SRCS,再指示變量 DIR_SRCS 中的源文件需要編譯成一個名稱為 Demo 的可執行文件。

轉載:aux_source_directory_ccf19881030的專欄-CSDN博客_aux_source_directory

(SAW:Game Over!)

總結

以上是生活随笔為你收集整理的cmake / aux_source_directory的全部內容,希望文章能夠幫你解決所遇到的問題。

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