No CMake, quero criar um diretório se ele ainda não existir. Como posso fazer isso?
143
Quando você deseja criar o diretório?
Para criar um diretório quando o CMake gerar o sistema de construção,
file(MAKE_DIRECTORY ${directory})
No add_custom_command()
comando (que inclui uma regra de construção customizada no sistema de construção gerado) e no add_custom_target()
comando (que adiciona um destino sem saída para que ele sempre seja construído), você especifica os comandos a serem executados no momento da construção. Crie um diretório executando o comando ${CMAKE_COMMAND} -E make_directory
. Por exemplo:
add_custom_target(build-time-make-directory ALL
COMMAND ${CMAKE_COMMAND} -E make_directory ${directory})
Para criar um diretório no momento da instalação,
install(DIRECTORY DESTINATION ${directory})
Para criar um diretório no momento da instalação,
Estes serão ambos executados em tempo de configure:
Para criar durante a construção, use um destino personalizado:
fonte
Além da resposta de Chin Huang, você também pode fazer isso em tempo de compilação com
add_custom_command
:Você também pode alterar o momento em que seu diretório é criado com
PRE_BUILD
|PRE_LINK
|POST_BUILD
parâmetros.fonte