1. 程式人生 > 其它 >【cmake】aux_source_directory

【cmake】aux_source_directory

 aux_source_directory

收集指定目錄中所有原始檔的名稱,並將列表儲存在提供的<variable>變數中。 該命令旨在供使用顯式模板例項化的專案使用。 模板例項化檔案可以儲存在Templates子目錄中,並使用此命令自動收集,以避免手動列出所有例項化。

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

工程目錄:

[root@kristopher Demo2]# tree .
.
|-- CMakeLists.txt
|-- main.cc
|-- MathFunctions.cc
`-- MathFunctions.h

0 directories, 4 files

 

 CMakeLists.txt 檔案內容如下:

# CMake 最低版本號要求
cmake_minimum_required (VERSION 2.8)

# 專案資訊
project (Demo2)

# 查詢當前目錄下的所有原始檔
# 並將名稱儲存到 DIR_SRCS 變數
aux_source_directory(. DIR_SRCS)

# 指定生成目標
add_executable(Demo ${DIR_SRCS})

 

參考資料

1. aux_source_directory

2. 官方文件