У меня небольшой проект, который использует boost::program_options
. Я хочу добавить эту (только эту) библиотеку в свой проект как git submodule
и собрать свой исполняемый файл, используя его источники.
Я уже выполнил часть git submodule
(git submodule add https://github.com/boostorg/program_options.git
), и у меня есть Я выполнил небольшой эксперимент, в котором я создал пример приложения, используя только источники в упомянутом подмодуле (чтобы проверить, нет ли дополнительных зависимостей).
Теперь я хочу добавить эти источники в свой проект. В файле CMakeLists.txt
я делаю:
set(BOOST_PROGRAM_OPTIONS_SOURCES
boost/program_options/src/split.cpp
boost/program_options/src/positional_options.cpp
boost/program_options/src/parsers.cpp
boost/program_options/src/options_description.cpp
boost/program_options/src/convert.cpp
boost/program_options/src/config_file.cpp
boost/program_options/src/cmdline.cpp
boost/program_options/src/winmain.cpp
boost/program_options/src/variables_map.cpp
boost/program_options/src/value_semantic.cpp
boost/program_options/src/utf8_codecvt_facet.cpp
)
и
add_executable(
...
src/main.cpp
${BOOST_PROGRAM_OPTIONS_SOURCES}
)
, но получаю следующую ошибку:
CMake Error at CMakeLists.txt:69 (add_executable):
The target name "boost/program_options/src/split.cpp" is reserved or not
valid for certain CMake features, such as generator expressions, and may
result in undefined behavior.
CMake Error at CMakeLists.txt:86 (target_link_libraries):
Cannot specify link libraries for target "..." which is not built
by this project.
Что это правильный способ делать то, что я хочу>