2012-11-27 40 views
0

我是CMake的新手,遇到了一些麻煩。是否可以根據它們創建的目錄來命名CMake目標?例如,我想將我的庫寫入一個lib /目錄,以迴應我的源目錄結構。按目錄命名CMake目標

想象一下,我有源目錄dir1和dir2,都創建一個庫libmylib.a通常CMake可能會抱怨創建庫/目標具有相同的名稱,但如果庫被寫入lib/dir1/libmylib.a和lib/dir2/libmylib.a,那麼你可以在你的CMakeLists.txt文件中推測這些目標爲dir1/libmylib和dir2/libmylib(假設)沒有衝突。

回答

2

在CMake中,邏輯庫名稱可以與目標生成的文件的名稱完全分離。在您的目標名稱中使用/沒有任何問題。你可以像這樣添加你的庫:

add_library(dir1/mylib STATIC source1 source2 ...) 
set_property(TARGET dir1/mylib PROPERTY OUTPUT_NAME mylib)