226 votes

comment puis-je faire cmake sortie dans un 'bin' dir?

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?

353voto

Adam Bowen Points 3633

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

32voto

Oleg Points 427

Utiliser set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "bin/")

8voto

gtikok Points 575

Utilisation EXECUTABLE_OUTPUT_PATH variable pour définir nécessaires chemin. Pour plus de détails, consultez en ligne la documentation de cmake:

http://www.cmake.org/cmake/help/cmake-2-8-docs.html

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