Je suis en train de construire un projet avec un plug-in de la structure. Je suis en utilisant cmake pour compiler le projet. les plugins sont compilés dans divers répertoires. Mon problème est que cmake compile et enregistre les fichiers binaires et les plugins,les bibliothèques dynamiques, dans la structure de répertoire de la source. comment puis-je faire cmake enregistrer les fichiers dans quelque chose comme un ./bin?
Réponses
Trop de publicités?Comme dans Oleg réponse, je crois que la bonne variable pour définir est CMAKE_RUNTIME_OUTPUT_DIRECTORY. nous utilisons les suivants à la racine de notre 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)
Vous pouvez également spécifier la sortie des répertoires par:
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"
)
Dans les deux cas, vous pouvez les ajouter en _[CONFIG]
à la variable/nom de la propriété de faire le répertoire de sortie s'applique à une configuration spécifique (les valeurs standard pour les config sont DEBUG
, RELEASE
, MINSIZEREL
et RELWITHDEBINFO
).