In CMake möchte ich ein Verzeichnis erstellen, falls es noch nicht vorhanden ist. Wie kann ich das machen?
143
Wann möchten Sie das Verzeichnis erstellen?
So erstellen Sie ein Verzeichnis, wenn CMake das Build-System generiert:
file(MAKE_DIRECTORY ${directory})
Im add_custom_command()
Befehl (der dem generierten Erstellungssystem eine benutzerdefinierte Erstellungsregel hinzufügt) und im add_custom_target()
Befehl (der ein Ziel ohne Ausgabe hinzufügt, damit es immer erstellt wird) geben Sie die Befehle an, die zur Erstellungszeit ausgeführt werden sollen. Erstellen Sie ein Verzeichnis, indem Sie den Befehl ausführen ${CMAKE_COMMAND} -E make_directory
. Beispielsweise:
add_custom_target(build-time-make-directory ALL
COMMAND ${CMAKE_COMMAND} -E make_directory ${directory})
Um ein Verzeichnis zur Installationszeit zu erstellen,
install(DIRECTORY DESTINATION ${directory})
Um ein Verzeichnis zur Installationszeit zu erstellen,
Diese werden beide zur Konfigurationszeit ausgeführt:
Verwenden Sie zum Erstellen während des Builds ein benutzerdefiniertes Ziel:
quelle
Zusätzlich zu Chin Huangs Antwort können Sie dies auch zur Erstellungszeit tun mit
add_custom_command
:Sie können auch den Zeitpunkt ändern, zu dem Ihr Verzeichnis mit
PRE_BUILD
| erstellt wirdPRE_LINK
|POST_BUILD
Parameter.quelle