Heim >Backend-Entwicklung >C++ >Wie kann ich Header-Verzeichnisse in meinen CMake-Projekten effektiv verwalten?

Wie kann ich Header-Verzeichnisse in meinen CMake-Projekten effektiv verwalten?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-31 10:12:15642Durchsuche

How Can I Effectively Manage Header Directories in My CMake Projects?

Header-Verzeichnisse effektiv in CMake einbinden

Um CMake ordnungsgemäß zu signalisieren, dass ein Verzeichnis Header enthält, die einbezogen und verfolgt werden sollen, führen Sie die folgenden Schritte aus:

1 . Fügen Sie das Verzeichnis ein

target_include_directories(test PRIVATE ${YOUR_DIRECTORY})

Für ältere CMake-Versionen (2.8.10 oder niedriger):

include_directories(${YOUR_DIRECTORY})

2. Header-Dateien zur Quellliste hinzufügen

Header-Dateien als Abhängigkeiten in das aktuelle Ziel einbeziehen:

set(SOURCES file.cpp file2.cpp ${YOUR_DIRECTORY}/file1.h ${YOUR_DIRECTORY}/file2.h)
add_executable(test ${SOURCES})

Dadurch wird sichergestellt, dass die Header-Dateien als Abhängigkeiten im Makefile und anderen generierten Projektdateien aufgeführt werden .

Einschließen von Headern für mehrere Ziele

Wenn Sie dieselben Header in mehrere Ziele einschließen müssen Ziele:

set(HEADER_FILES ${YOUR_DIRECTORY}/file1.h ${YOUR_DIRECTORY}/file2.h)

add_library(mylib libsrc.cpp ${HEADER_FILES})
target_include_directories(mylib PRIVATE ${YOUR_DIRECTORY})

add_executable(myexec execfile.cpp ${HEADER_FILES})
target_include_directories(myexec PRIVATE ${YOUR_DIRECTORY})

Das obige ist der detaillierte Inhalt vonWie kann ich Header-Verzeichnisse in meinen CMake-Projekten effektiv verwalten?. 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