CMake를 이용한 C 언어 프로그래밍: 디렉토리 복사하기
- 개발환경/CMake
- 2022. 4. 13.
반응형
개요
본 글에서는 CMake를 이용하여 빌드할 때, 특정 디렉토리를 다른 곳으로 복사하는 방법을 소개한다.
본 글에서 사용된 환경은 다음과 같다.
- CMake 실행 및 빌드 환경 : 우분투 리눅스 18.04
- CMake 버전 : 3.13.2
CMakeLists.txt에 디렉토리 복사 명령문 작성하기
CMakeLists.txt 파일에 add_custom_command() 명령문을 작성하여, 타겟 빌드 시에 특정 디렉토리를 복사할 수 있다.
add_custom_command(TARGET ${TARGET} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory ${FROM_DIR} ${TO_DIR})
위 명령문에서 작성자의 의도에 따라 변경될 수 있는 부분은 각각 다음과 같다.
- ${TARGET} : 빌드 타겟 (예: add_executable()에 지정된 타겟)
- ${FROM_DIR} : 복사할 디렉토리 경로
- ${TO_DIR} : 디렉토리가 새롭게 복사될 경로
위 명령문은 POST_BUILD 옵션을 사용하였기 때문에 빌드가 완료된 후 실행된다. 따라서 빌드가 실패하면 실행되지 않는다.
예시
hello.c 파일을 빌드한후 /workspace/dir이라는 디렉토리를 /work/dir로 복사하는 전체 CMakeLists.txt 파일의 예시는 다음과 같다.
set(TARGET_APP hello)
add_executable(${TARGET_APP} hello.c)
add_custom_command(TARGET ${TARGET_APP} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory /workspace/dir work/dir)
'개발환경 > CMake' 카테고리의 다른 글
CMake 커맨드 : target_link_options (0) | 2022.04.18 |
---|---|
CMake를 이용한 C 언어 프로그래밍: 디렉토리 삭제하기 (0) | 2022.04.13 |
CMake를 이용한 C 언어 프로그래밍: 디렉토리 생성하기 (0) | 2022.04.12 |
CMake를 이용한 C 언어 프로그래밍: 파일 삭제하기 (0) | 2022.04.10 |
CMake를 이용한 C 언어 프로그래밍: 파일 복사하기 (0) | 2022.04.10 |
리눅스에 CMake 설치하기 - 3.19.2 버전 (0) | 2020.12.31 |
CMake를 이용한 C 언어 프로그래밍 #3: 라이브러리 (0) | 2020.12.24 |
리눅스에 CMake 설치하기 : 3.18.0 버전 (0) | 2020.07.26 |