Позвольте мне описать то, что, по моему мнению, является достаточно распространенным прецедентом, что его нужно поддерживать. Рассмотрим проект, который состоит из библиотеки и набора исполняемых файлов, которые используют эту библиотеку. Прямым подходом является add_library, за которым следует последовательность пар add_executable() target_link_lib().связать библиотеку со всеми объектами в проекте cmake
Это много кодировочного кода. Было бы неплохо сделать что-то вроде set (PROJECT_LINK_LIBS, lib1 ...) и удалить cmake из дополнительного шаблона.
Думая об этом больше, я понимаю, что мне нужна функция link_libraries, которая ведет себя аналогично include_directories. Я бы сказал, что это:
- Было бы полезно во многих случаях.
- Приведёт к сушке CMakeLists.
- Будет поощрять лучшие организации кода - будет естественный стимул для организации папок, кода и исполняемых файлов таким образом, чтобы все исполняемые файлы имели одинаковые зависимости - безусловно, чистую практику.
Есть ли что-нибудь подобное?
Нет ничего встроенного, которое удаляет это. Однако вы можете разработать свои собственные макросы и функции cmake, чтобы удалить часть шаблона. – drescherjm