SET (CPACK_COMPONENTS_ALL ...) с ExternalProject, устанавливающим дополнительные компоненты - PullRequest
0 голосов
/ 23 апреля 2019

Я использую модуль ExtrenalProject cmake для добавления сторонних или внутренних зависимостей в мою сборку. Затем я использую модуль CPack с компонентами для установки только компонентов из текущей кодовой базы следующим образом.

set(CPACK_COMPONENTS_ALL
  common-lib
  common-include
  common-depends
)

Пример одного из этих компонентов, объявленных в CMake:

install(TARGETS common
  LIBRARY DESTINATION lib
  ARCHIVE DESTINATION lib
  COMPONENT common-lib
)

Однако другие проекты, добавленные с использованием add_subdirectory, такие как google test или другие внутренние библиотеки, также объявляют цели установки. Когда я бегу

make package

, а затем перечислить содержимое сгенерированных .deb или .tar, я вижу содержимое других компонентов, не заданных в переменной CPACK_COMPONENTS_ALL.

Как правильно заставить CMake и CPack устанавливать только запрошенные компоненты?

...