Maison > développement back-end > C++ > Comment puis-je rediriger les sorties de CMake Build vers un répertoire « bin » distinct ?

Comment puis-je rediriger les sorties de CMake Build vers un répertoire « bin » distinct ?

Susan Sarandon
Libérer: 2024-12-15 14:35:15
original
172 Les gens l'ont consulté

How Can I Redirect CMake Build Outputs to a Separate 'bin' Directory?

Redirection des sorties de CMake Build vers un répertoire « bin »

Lors de la création de projets avec des plugins à l'aide de CMake, les binaires et bibliothèques compilés sont généralement dispersés dans la structure du répertoire source. Pour organiser ces fichiers, il devient nécessaire de diriger la sortie de CMake vers un répertoire distinct, tel que './bin'.

La solution réside dans la définition de la variable CMake appropriée pour spécifier le chemin de sortie souhaité. Suivant les conseils d'Oleg, la variable correcte à modifier est CMAKE_RUNTIME_OUTPUT_DIRECTORY.

Dans le fichier racine CMakeLists.txt, vous pouvez spécifier le répertoire de sortie comme suit :

set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
Copier après la connexion

Cela définira les répertoires de sortie pour les archives, les bibliothèques et les binaires d'exécution vers un sous-répertoire 'lib' et un sous-répertoire 'bin' dans le binaire répertoire.

Vous pouvez également spécifier les répertoires de sortie pour chaque cible à l'aide de la commande set_target_properties :

set_target_properties(targets...
    PROPERTIES
    ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
    LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
    RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
)
Copier après la connexion

Cette approche vous permet de spécifier différents répertoires de sortie pour différentes cibles, fournissant contrôle plus précis sur le processus de construction.

Dans les deux cas, vous pouvez ajouter '_[CONFIG]' à la variable ou à la propriété name pour définir le répertoire de sortie pour une configuration spécifique. Les valeurs de configuration standard sont DEBUG, RELEASE, MINSIZEREL et RELWITHDEBINFO.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal