2012-11-25 89 views
0

如何將整個文件夾鏈接到庫中?鏈接整個文件夾

我有以下結構

src/main.cpp 
src/alg/alg1.cpp 
src/alg/alg1.hpp 
src/alg/alg2.cpp 
src/alg/ ... 
src/utils/something.cpp 
src/utils/... 

我可以只使用

add_library(ALG1 alg/alg1.cpp) 
add_library(ALG2 ....) 
...... 
add_library(UTIL1 utils/something.cpp) 

add_executable(PROG main.cpp) 

target_link_libraries(PROG ALG1 ALG2 ... UTIL1 UTIL2 ...) 

反正告訴它來包裝整個文件夾,並將其鏈接? 也有些migth它們之間有DEPS

+1

你做了什麼研究? –

+0

你使用什麼工具? –

回答

2

將在下面的滿足您的需求?

add_library(ALG alg/alg1.cpp alg/alg1.hpp alg/alg2.cpp #... list all files) 

add_library(UTIL utils/something.cpp #... list all files) 

add_executable(PROG main.cpp) 

target_link_libraries(PROG ALG UTIL) 

請注意,我們不推薦使用的命令一樣file(GLOB ...)收集源文件,因爲那樣的話,如果你將文件添加到目錄的構建系統也不會再生。

1

使用

file(GLOB UTIL_SOURCES utils/*.cpp) 

要得到所有的源文件的目錄,然後就去做

add_library(UTIL, ${UTIL_SOURCES})