Heim >Backend-Entwicklung >C++ >Wie konfiguriere ich CMake, um Binärdateien und Bibliotheken vom Quellcode zu trennen?

Wie konfiguriere ich CMake, um Binärdateien und Bibliotheken vom Quellcode zu trennen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-17 14:09:10707Durchsuche

How to Configure CMake to Separate Binaries and Libraries from Source Code?

So konfigurieren Sie das CMake-Ausgabeverzeichnis für Binärdateien

Um das Problem zu beheben, bei dem CMake Binärdateien und Bibliotheken innerhalb der Quellverzeichnishierarchie generiert, können Sie Folgendes tun Ändern Sie die Ausgabeeinstellungen von CMake, um ein dediziertes Ziel anzugeben Verzeichnis.

Lösung:

Um CMake anzuweisen, die kompilierten Artefakte in einem separaten Verzeichnis wie „./bin“ zu platzieren, verwenden Sie die folgenden Techniken:

  1. Globale Produktion Verzeichnisse:

    set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
    set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
    set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
  2. Zielspezifische Ausgabeverzeichnisse:

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

In beiden Szenarien , können Sie „_[CONFIG]“ (z. B. „_DEBUG“) an den Variablen- oder Eigenschaftsnamen anhängen, um ihn anzupassen das Ausgabeverzeichnis für eine bestimmte Konfiguration (z. B. „Debug“).

Das obige ist der detaillierte Inhalt vonWie konfiguriere ich CMake, um Binärdateien und Bibliotheken vom Quellcode zu trennen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn