Ответ 1
Используйте target_sources
, доступный с cmake 3.1
например.
target_sources(MyExampleApp PUBLIC ${extra_file})
https://cmake.org/cmake/help/v3.1/command/target_sources.html
Учитывая, что я определил исполняемый файл с его основным исходным файлом в файле CMakeList.txt
:
ADD_EXECUTABLE(MyExampleApp main.cpp)
Можно ли добавить дополнительные исходные файлы в этот исполняемый файл после этой строки, но в том же или включенном файле CMakeList.txt
?
Используйте target_sources
, доступный с cmake 3.1
например.
target_sources(MyExampleApp PUBLIC ${extra_file})
https://cmake.org/cmake/help/v3.1/command/target_sources.html
Я думаю, вы можете использовать:
add_executable(MyExampleApp main.cpp)
add_library(library STATIC ${ADDITIONAL_SOURCES})
set_target_properties(library PROPERTIES
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
target_link_libraries(MyExampleApp library)
Следует отметить, что для более поздних версий CMake ( > 3.1, я думаю) можно добавлять файлы к свойству SOURCES
для целей.