В CMake я хочу создать каталог, если он еще не существует. Как я могу это сделать?
149
Когда вы хотите создать каталог?
Чтобы создать каталог, когда CMake генерирует систему сборки,
file(MAKE_DIRECTORY ${directory})
В add_custom_command()
команде (которая добавляет настраиваемое правило сборки к сгенерированной системе сборки) и add_custom_target()
команде (которая добавляет цель без вывода, поэтому она всегда будет построена) вы указываете команды для выполнения во время сборки. Создайте каталог, выполнив команду ${CMAKE_COMMAND} -E make_directory
. Например:
add_custom_target(build-time-make-directory ALL
COMMAND ${CMAKE_COMMAND} -E make_directory ${directory})
Чтобы создать каталог во время установки,
install(DIRECTORY DESTINATION ${directory})
Чтобы создать каталог во время установки,
Оба они будут работать во время настройки:
Для создания во время сборки используйте настраиваемую цель:
источник
В дополнение к ответу Чин Хуанга вы также можете сделать это во время сборки с помощью
add_custom_command
:Вы также можете изменить момент создания вашего каталога с помощью
PRE_BUILD
|PRE_LINK
|POST_BUILD
параметры.источник