Создание каталога в CMake



в CMake, я хочу создать каталог, если он еще не существует. Как я могу это сделать?

608   3  

3 ответов:

когда вы хотите создать каталог?

при создании системы сборки

чтобы создать каталог, когда 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})

создать каталог во время установки,

install(DIRECTORY DESTINATION ${directory})

Это и запуск во время настройки:

file(MAKE_DIRECTORY ${directory})
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${directory})

чтобы создать во время сборки, используйте пользовательскую цель:

add_custom_target(mytargetname ALL COMMAND ${CMAKE_COMMAND} -E make_directory ${directory})

в дополнение к ответу чин Хуан, вы также можете сделать это во время сборки с add_custom_command:

add_custom_command(TARGET ${target_name} PRE_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory ${directory})

вы также можете изменить момент, когда ваш каталог создается с параметрами PRE_BUILD | PRE_LINK | POST_BUILD.

Comments

    Ничего не найдено.