Heim >Backend-Entwicklung >C++ >Wie kann CMake kompilierte Dateien in einem separaten „bin'-Verzeichnis organisieren?
Organisieren der CMake-Ausgabe in einem separaten „bin“-Verzeichnis
Bei der Arbeit mit Projekten mit mehreren Modulen, die eine Plugin-Architektur verwenden, ist dies oft wünschenswert um die kompilierten Dateien vom Quellcode getrennt zu halten. CMake, ein leistungsstarker Build-System-Generator, kann so konfiguriert werden, dass kompilierte Dateien in ein bestimmtes „bin“-Verzeichnis ausgegeben werden.
Um dies zu erreichen, kann die Variable CMAKE_RUNTIME_OUTPUT_DIRECTORY verwendet werden. Durch Festlegen dieser Variablen können Sie das Verzeichnis angeben, in dem ausführbare Dateien und Plugin-Dateien gespeichert werden. Beispielsweise können in der Stammdatei CMakeLists.txt die folgenden Einstellungen hinzugefügt werden:
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)
Diese Konfiguration weist CMake an, Archive und Bibliotheken in einem „lib“-Verzeichnis innerhalb des Binärverzeichnisses zu speichern, während ausführbare Dateien und Dynamische Bibliotheken werden im Verzeichnis „bin“ abgelegt.
Alternativ können Sie die Ausgabeverzeichnisse pro Ziel festlegen 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" )
Durch die Verwendung beider Ansätze können Sie die kompilierte Ausgabe effektiv vom Quellcode trennen und so eine sauberere und besser organisierte Projektstruktur gewährleisten.
Das obige ist der detaillierte Inhalt vonWie kann CMake kompilierte Dateien in einem separaten „bin'-Verzeichnis organisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!