Antworten:
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,
install(DIRECTORY DESTINATION ${directory})
Diese werden beide zur Konfigurationszeit ausgeführt:
file(MAKE_DIRECTORY ${directory})
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${directory})
Verwenden Sie zum Erstellen während des Builds ein benutzerdefiniertes Ziel:
add_custom_target(mytargetname ALL COMMAND ${CMAKE_COMMAND} -E make_directory ${directory})
Zusätzlich zu Chin Huangs Antwort können Sie dies auch zur Erstellungszeit tun mit add_custom_command
:
add_custom_command(TARGET ${target_name} PRE_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory ${directory})
Sie können auch den Zeitpunkt ändern, zu dem Ihr Verzeichnis mit PRE_BUILD
| erstellt wird PRE_LINK
| POST_BUILD
Parameter.