[cmake] CMake에서 디렉토리 만들기

CMake에서 디렉토리가 없으면 디렉토리를 만들고 싶습니다. 어떻게해야합니까?



답변

언제 디렉토리를 작성 하시겠습니까?

빌드 시스템 생성시

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})


답변

Chin Huang의 답변 외에도 빌드 타임에 add_custom_command다음을 수행 할 수 있습니다 .

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

PRE_BUILD| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 디렉토리 디렉토리를 사용하여 디렉토리를 만들 때 | 순간을 변경할 수도 있습니다. | PRE_LINK| POST_BUILD매개 변수.


답변