Maison >développement back-end >C++ >Comment puis-je rediriger la sortie de CMake Build vers un répertoire personnalisé ?

Comment puis-je rediriger la sortie de CMake Build vers un répertoire personnalisé ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-12 17:00:12685parcourir

How Can I Redirect CMake Build Output to a Custom Directory?

Comment rediriger la sortie CMake vers un répertoire spécifique ?

La structure de votre projet comprend des plugins compilés dans des répertoires séparés. Bien que CMake compile ces plugins avec succès, vous êtes confronté au défi de localiser les binaires et les bibliothèques dynamiques en dehors de la structure du répertoire source. Cet article vise à vous guider dans la configuration de CMake pour enregistrer ces fichiers dans un répertoire spécifique, tel que "./bin".

Comme suggéré par les réponses, vous pouvez spécifier le répertoire de sortie souhaité à l'aide de la variable CMAKE_RUNTIME_OUTPUT_DIRECTORY. Voici comment vous pouvez implémenter cela dans votre racine CMakeLists.txt :

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)

En définissant ces variables, CMake placera les artefacts compilés dans les répertoires spécifiés par rapport au répertoire de construction (CMAKE_BINARY_DIR).

Vous pouvez également définir des répertoires de sortie par cible :

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"
)

Vous pouvez ajoutez "_[CONFIG]" à la variable/propriété pour spécifier le répertoire de sortie pour une configuration particulière (par exemple, DEBUG, RELEASE). En configurant CMake de manière appropriée, vous pouvez gérer efficacement la sortie compilée de votre projet, en vous assurant que les binaires et les plugins sont organisés dans la structure de répertoires souhaitée.

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!

Déclaration:
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