8

同じ N ライブラリにリンクする必要がある 2 つの実行可能ファイルがあります。

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。一部の共通ライブラリが 2 つの異なる実行可能ファイルにリンクされる方法を短縮する方法はありますか? 冗長性を回避し、CMake ファイルをよりクリーンにするために、lib1...libNライブラリを両方MyExe1と1 つのコマンドでリンクすることが可能かどうか疑問に思っています。MyExe2

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 に答える