假设我有两个main条目,一个输入main1.cpp和一个输入main2.cpp(还有其他文件,但只有两个主条目).如何配置CMakeLists.txt文件以便我可以包含main1.cpp或main2.cpp基于不同的目标?即我最终将能够使用"make target1"生成exec1基于main1.cpp和"make target2"来生成exec2基于main2.cpp其他文件.
Fra*_*ser 10
听起来像是从除了主电源之外的所有来源制作库的情况.然后只需添加两个可执行目标,每个目标链接到库.
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)
Run Code Online (Sandbox Code Playgroud)
你可以只包括所有的源两次,所以MyExe1除了main2.cpp之外还有其他东西,除了main1.cpp MyExe2之外的所有东西,但是这将涉及两次编译源并且效率低下.