链接整个文件夹
问题描述:
如何将整个文件夹链接到库中?链接整个文件夹
我有以下结构
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
答
将在下面的满足您的需求?
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 ...)
收集源文件,因为那样的话,如果你将文件添加到目录的构建系统也不会再生。
答
使用
file(GLOB UTIL_SOURCES utils/*.cpp)
要得到所有的源文件的目录,然后就去做
add_library(UTIL, ${UTIL_SOURCES})
你做了什么研究? –
你使用什么工具? –