8

我有两个可执行文件都需要链接到 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 文件更干净。

4

1 回答 1

13

您可以使用该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})
于 2013-02-12T11:11:32.523 回答