假设我有两个main
条目,一个 inmain1.cpp
和一个 in main2.cpp
(还有其他文件,但只有两个主要条目)。如何配置CMakeLists.txt
文件以便我可以包含main1.cpp
或main2.cpp
基于不同的目标?即我最终将能够使用“make target1”来生成exec1
基于main1.cpp
和“make target2”来生成exec2
基于main2.cpp
以及其他文件。
问问题
3133 次
1 回答
12
听起来像是用除主电源之外的所有来源制作图书馆的案例。然后只需添加两个可执行目标,每个目标都链接到库。
add_executable(MyExe1 main1.cpp)
add_executable(MyExe2 main2.cpp)
add_library(MyLib <all the other files>)
target_link_libraries(MyExe1 MyLib)
target_link_libraries(MyExe2 MyLib)
您可以只包含所有源代码两次,因此MyExe1
除了 main2.cpp 和MyExe2
除 main1.cpp 之外的所有源代码都将包含在内,但这将涉及两次编译源代码并且效率低下。
于 2012-11-18T14:01:01.437 回答