CMake를 이용한 C 언어 프로그래밍: 파일 복사하기
- 개발환경/CMake
- 2022. 4. 10.
반응형
개요
본 글에서는 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 ${FROM} ${TO})
위 명령문에서 작성자의 의도에 따라 변경될 수 있는 부분은 각각 다음과 같다.
- ${TARGET} : 빌드 타겟 (예: add_executable()에 지정된 타겟)
- ${FROM} : 복사할 원본 파일경로
- ${TO} : 파일을 복사할 목적지 디렉토리 경로
위 명령문은 POST_BUILD 옵션을 사용하였기 때문에 빌드가 완료된 후 실행된다. 따라서 빌드가 실패하면 실행되지 않는다.
예시
hello.c 파일을 빌드하여 hello라는 실행파일을 생성하고 해당 파일을 "/workspace" 디렉토리에 복사하는 전체 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 ${TARGET_APP} /workspace/${TARGET_APP})
'개발환경 > CMake' 카테고리의 다른 글
CMake를 이용한 C 언어 프로그래밍: 디렉토리 복사하기 (0) | 2022.04.13 |
---|---|
CMake를 이용한 C 언어 프로그래밍: 디렉토리 삭제하기 (0) | 2022.04.13 |
CMake를 이용한 C 언어 프로그래밍: 디렉토리 생성하기 (0) | 2022.04.12 |
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 |
리눅스에 CMake 설치하기 : 3.17.3 버전 (0) | 2020.07.26 |