W CMake chcę utworzyć katalog, jeśli jeszcze nie istnieje. W jaki sposób mogę to zrobić?
143
Kiedy chcesz utworzyć katalog?
Aby utworzyć katalog, gdy CMake generuje system kompilacji,
file(MAKE_DIRECTORY ${directory})
W add_custom_command()
poleceniu (które dodaje niestandardową regułę kompilacji do wygenerowanego systemu kompilacji) i add_custom_target()
poleceniu (które dodaje cel bez wyjścia, więc zawsze będzie budowany), określasz polecenia do wykonania w czasie kompilacji. Utwórz katalog, wykonując polecenie ${CMAKE_COMMAND} -E make_directory
. Na przykład:
add_custom_target(build-time-make-directory ALL
COMMAND ${CMAKE_COMMAND} -E make_directory ${directory})
Aby utworzyć katalog podczas instalacji,
install(DIRECTORY DESTINATION ${directory})
Aby utworzyć katalog podczas instalacji,
Będą zarówno uruchomić w momencie configure:
Aby utworzyć podczas kompilacji, użyj niestandardowego celu:
źródło
Oprócz odpowiedzi Chin Huanga możesz to również zrobić w czasie kompilacji za pomocą
add_custom_command
:Możesz także zmienić moment, w którym tworzony jest katalog za pomocą
PRE_BUILD
|PRE_LINK
|POST_BUILD
parametry.źródło