CMake:在一个命令中将多个库链接到两个可执行文件

时间:2013-02-12 11:03:35

标签: cmake

我有两个可执行文件,这两个文件都需要链接到相同的N个库:

add_executable(MyExe1 main1.cpp)
add_executable(MyExe2 main2.cpp)

target_link_libraries(MyExe1 lib1 lib2 lib3 ... libN)
target_link_libraries(MyExe2 lib1 lib2 lib3 ... libN)

所以我必须写两次target_link_libraries;一次用于MyExe1,一次用于MyExe2。有没有办法缩短一些公共库链接到两个不同的可执行文件的方式?我想知道是否可以在一个命令中将lib1 ... libN库链接到MyExe1MyExe2,以避免冗余并使CMake文件更清晰。

1 个答案:

答案 0 :(得分:7)

您可以使用set命令从参数列表中设置变量:

add_executable(MyExe1 main1.cpp)
add_executable(MyExe2 main2.cpp)

set(LIBS lib1 lib2 lib3 ... libN)

target_link_libraries(MyExe1 ${LIBS})
target_link_libraries(MyExe2 ${LIBS})