반응형
[목차로 이동]
CMAKE에서 파일과 폴더를 다루는 방법입니다.
특히 GLOB을 활용하면 파일 목록을 손쉽게 가공할 수 있습니다.
주의할 점은 FILE을 다루는 함수들은 cmake를 수행할 때 이루어진다는 점입니다.
헤더를 설치하는 등의 작업을 위해서는 INSTALL을 사용합니다.
file에 메시지를 쓴다. 만약 파일이 없으면 파일을 생성한다. 파일이 생기는 위치는 소스 디렉토리를 기준으로 한다.
예제) CMakeLists.txt
cmake_minimum_required(VERSION 2.8) FILE(WRITE "bada" "first message\n") FILE(APPEND "bada" "second message\n") FILE(APPEND "android" "third message\n")
위 예제를 실행하면, bada라는 파일과 android라는 파일이 생기고 위에 지정한 메시지가 출력된다.
예제)
cmake_minimum_required(VERSION 2.8)
FILE(GLOB CPP_FILES "*.cpp")
MESSAGE("${CPP_FILES}")
CMAKE에서 파일과 폴더를 다루는 방법입니다.
특히 GLOB을 활용하면 파일 목록을 손쉽게 가공할 수 있습니다.
주의할 점은 FILE을 다루는 함수들은 cmake를 수행할 때 이루어진다는 점입니다.
헤더를 설치하는 등의 작업을 위해서는 INSTALL을 사용합니다.
file(WRITE filename "message to write"... ) file(APPEND filename "message to write"... ) file(READ filename variable [LIMIT numBytes] [OFFSET offset] [HEX]) file(STRINGS filename variable [LIMIT_COUNT num] [LIMIT_INPUT numBytes] [LIMIT_OUTPUT numBytes] [LENGTH_MINIMUM numBytes] [LENGTH_MAXIMUM numBytes] [NEWLINE_CONSUME] [REGEX regex] [NO_HEX_CONVERSION])
file에 메시지를 쓴다. 만약 파일이 없으면 파일을 생성한다. 파일이 생기는 위치는 소스 디렉토리를 기준으로 한다.
예제) CMakeLists.txt
cmake_minimum_required(VERSION 2.8) FILE(WRITE "bada" "first message\n") FILE(APPEND "bada" "second message\n") FILE(APPEND "android" "third message\n")
위 예제를 실행하면, bada라는 파일과 android라는 파일이 생기고 위에 지정한 메시지가 출력된다.
file(GLOB variable [RELATIVE path] [globbing expressions]...)variable 변수에 expression에 부합되는 파일들을 찾아 리스트로 넘겨준다.
예제)
cmake_minimum_required(VERSION 2.8)
FILE(GLOB CPP_FILES "*.cpp")
MESSAGE("${CPP_FILES}")
기타 다른 옵션들.
file(GLOB_RECURSE variable [RELATIVE path] [FOLLOW_SYMLINKS] [globbing expressions]...) file(REMOVE [file1 ...]) file(REMOVE_RECURSE [file1 ...]) file(MAKE_DIRECTORY [directory1 directory2 ...]) file(RELATIVE_PATH variable directory file) file(TO_CMAKE_PATH path result) file(TO_NATIVE_PATH path result) file(DOWNLOAD url file [TIMEOUT timeout] [STATUS status] [LOG log])
반응형
'Open Source > cmake' 카테고리의 다른 글
CMake build with ninja (1) | 2012.09.25 |
---|---|
[번역] CMake FAQ (0) | 2011.08.18 |
[cmake] 2. Hello with two files. (0) | 2011.04.12 |
[cmake] 목차 (0) | 2011.04.12 |
[cmake] 2. Hello (0) | 2011.04.12 |