Для команды CMake "установить", что может сделать аргумент COMPONENT? - PullRequest
32 голосов
/ 08 февраля 2012

Я не знаю, что означает аргумент COMPONENT команды install(), и я не понимаю документации CMake для этого.Что это более подробно?

Каким будет пример?

Ответы [ 2 ]

50 голосов
/ 08 февраля 2012

Вы можете сгруппировать цели установки в компоненты, например, "docs", "libs", "runtime" и т. Д.

add_library(libone libone.c)
add_executable(one main1.c)
install(TARGETS libone one DESTINATION /somedir COMPONENT comp_one)

add_library(libtwo libtwo.c)
add_executable(two main2.c)
install(TARGETS libtwo two DESTINATION /somedir COMPONENT comp_two)

Это позволяет запустить cmake -DCOMPONENT=comp_one -P {your_build_dir}/cmake_install.cmake для установки только библиотеки libone и исполняемого файла one. При выдаче make install все компоненты установлены.

0 голосов
/ 23 декабря 2013

Существует три способа использовать команду install в CMake:

  1. Установить исполняемый файл

    INSTALL(TARGETS ExecutableTarget RUNTIME DESTINATION FOLDER_LOCATION)
    
  2. Установитьстатическая библиотека

    INSTALL(TARGETS StaticLibraryTarget ARCHIVE DESTINATION FOLDER_LOCATION)
    
  3. Установить динамическую библиотеку

    INSTALL(TARGETS SharedLibraryTarget LIBRARY DESTINATION FOLDER_LOCATION)
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...