Question

Je veux une partie du fichier CMakeLists.txt à être ignoré lorsqu'un utilisateur appelle

make package

Je suis donc à la recherche d'une variable telle que CMAKE_COMMAND ou CMAKE_PACKAGING pour que je puisse faire

if (CMAKE_COMMAND EQUAL 'package') ...

ou

if (CMAKE_PACKAGING) ...

Est-ce exist? Peut-il être atteint?

Était-ce utile?

La solution

CMake génère des fichiers de maquillage qui contiennent certains MAKE « prédéfinis » cibles qui suivent les conventions attendues par ceux qui les utilisent. Des objectifs comme tout, installer, package et test.

Le « install » et « package » sont des cibles généralement, par défaut, dépendent du « tout » faire la cible. (Alors que si vous tapez « make install » il fait un « faire tout » d'abord à assurer que tout est à jour avant l'installation se produit. De même avec « package »).

Qu'est-ce que 'package make' ne fait est de cpack d'appel sous les couvertures:

/full/path/to/cpack --config ./CPackConfig.cmake

Vous pouvez voir cette ligne de commande invoquée si vous exécutez:

make package VERBOSE=1

Quelle partie de votre fichier CMakeLists.txt vous voulez sauter dans le cas de l'emballage? Il n'y a pas de variable telle que celle que vous recherchez, parce que l'emballage ne se produit pas à CMake configure-temps; il se produit plus tard, après le temps de construction, lorsque l'utilisateur « package make » ou explicitement invoque « cpack ».

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top