51 votes

Pour la commande "install" de CMake, que peut faire l'argument COMPONENT ?

Je ne sais pas ce que signifie l'argument COMPONENT de la commande install() , et je ne comprends pas la documentation CMake à ce sujet. Qu'est-ce que c'est plus en détail ?

Quel serait un exemple ?

74voto

arrowdodger Points 7611

Vous pouvez regrouper les cibles d'installation en composants, par exemple, "docs", "libs", "runtime", etc.

 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)

Cela permet de fonctionner cmake -DCOMPONENT=comp_one -P {your_build_dir}/cmake_install.cmake installer seulement le libone bibliothèque et le one exécutable. Lorsque vous exécutez make install tous les composants sont installés.

-21voto

thestar Points 384

Il existe trois manières d'utiliser la commande install dans CMake :

  1. Installer un exécutable

     INSTALL(TARGETS ExecutableTarget RUNTIME DESTINATION FOLDER_LOCATION)
    
  2. Installer une bibliothèque statique

     INSTALL(TARGETS StaticLibraryTarget ARCHIVE DESTINATION FOLDER_LOCATION)
    
  3. Installer la bibliothèque dynamique

     INSTALL(TARGETS SharedLibraryTarget LIBRARY DESTINATION FOLDER_LOCATION)
    

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X