[미완성] CMake 2.6 Documentation by 신동호

** 너무 길고 번역이 재미가 없어 번역을 종료합니다.


CMake 는 이기종 간의 make 파일을 효과적으로 생성할 수 있도록 도와주는 유용한 도구입니다.

본 문서는 http://www.cmake.org/cmake/help/cmake2.6docs.html 를 번역하고 있습니다.


* 영어를 잘 못해서 번역을 하게 되었는데, 이번 번역은 특히나 허접하군요. 전.혀. 참고가 되지 않을 듯 싶습니다. 번역 후 CMake 를 사용하면서 좀 더 실용적인 지식이 풍부해지면 다시 블로깅을 해야 할 것 같습니다.

Master Index

* 이름
* 사용법
* 설명
* 옵션
* 생성기
* 명령어
* 속성
* 전역 속성
* 폴더 속성
* 타겟 속성
* 테스트 속성
* 소스 파일 속성
* 표준 CMake 모듈
* 정책
* 변수
* 행동을 변화시키는 변수
* 시스템을 설명하는 변수
* 언어 변수
* 빌드 제어 변수
* 제공 정보 관련 변수

이름

cmake - Cross-Platform Makefile Generator(이기종 makefile 생성기)

사용법

cmake [options] <path-to-source>
cmake [options] <path-to-existing-build>

설명

'cmake' 실행파일은 CMake 의 커맨드 라인 인터페이스로써 프로젝트 설정을 만들어 내기 위해 사용합니다. 프로젝트 설정은 보통 -D 옵션과 함께 커멘드라인으로 명시하도록 되어 있습니다. -i 옵션은 이러한 설정을 하나씩 적용할 수 있도록 도와줍니다.

CMake 는 이기종 빌드 시스템 생성기 입니다. 프로젝트는 CMakeLists.txt 라는 이름의 파일에 소스 트리의 각 디렉토리 설정을 포함하여 플렛폼에 독립적인 CMake 리스트의 파일을 작성, 빌드 프로세스를 명시하게 됩니다. 사용자는 CMake 와 자신의 플렛폼에 있는 빌드 도구를 사용하여 빌드 시스템을 생성합니다.   

옵션

-C <initial-cache>

미리 로드되는 스크립트에 케쉬를 할당합니다.

cmake 가 비어있는 빌드 트리에서 처음 실행되었을 때, CMakeCache.txt 파일을 생성하고, 프로젝트를 위한 기본 설정값을 넣게 됩니다. 이 옵션은 기본 설정값에 사용되는 파일의 케쉬를 설정합니다. 로딩된 엔트리는 프로젝트의 기본 값보다 우선순위가 높습니다. CACHE 옵션을 사용한 SET 커멘트 를 포함하고 있는 CMake 스크립트가 사용됩니다.

-D <var>:<type>=<value>

cmake 케쉬 엔트리를 생성합니다.

cmake 가 비어있는 빌드 트리에서 처음 실행되었을 때, CMakeCache.txt 파일을 생성하고, 프로젝트를 위한 기본 설정값을 넣게 됩니다. 로딩된 엔트리는 프로젝트의 기본 값보다 우선순위가 높습니다. 이 옵션을 사용하여 원하는 설정을 반복적으로 케쉬에 넣을 수 있습니다.

-U <globbing_expr>

CMake 케쉬에서 매칭되는 엔트리를 지웁니다.

이 옵션은 CMakeCache.txt 파일에서 하나 이상의 변수를 삭제할 때 사용하며 * 와 ? 표현식을 지원합니다.(역주. * 는 어떤 문자열을 의미하고 ? 는 어떤 문자를 의미합니다. *.txt 는 확장자가 .txt 인 모든 파일을 의미하고 Test?.txt 는 Test 로 시작하고 한글자 어떤 문자가 나오고 확장자가 .txt 인 모든 파일을 의미하는 것이죠) 이 옵션을 반복적으로 사용하여 여러개의 케쉬 엔트리를 삭제할 수 있습니다.

이 옵션을 사용하여 CMakeCache.txt 파일이 아무런 동작도 하지 않도록 할 수도 있습니다.

-G <generator-name>

makefile 생성기를 명시합니다.

CMake 는 사용자의 플렛폼에 있는 다중 빌드 시스템을 지원합니다. makefile 생성기는 각 빌드 시스템마다 설정 가능합니다. 가능한 생성기의 이름은 생성기 섹션에 명시되어 있습니다.

-Wno-dev

개발자 경고를 끕니다.

CMakeLists.txt 파일 제작자의 경고를 끕니다.

-Wdev

개발자 경고를 킵니다.

-E

CMake 명령 모드입니다.

플렛폼 독립적으로, CMake 는 모든 시스템에서 사용할 수 있는 명령어 리스트를 제공합니다. -E 로 실행하면 사용법을 알려줄 것입니다. 커멘드에서는 다음과 같은 명령어가 입력 가능합니다: chdir, copy, copy_if_different, copy_directory, compare_files, echo, echo_append, environment, make_directory, md5sum, remove_directory, remove, tar, time, touch, touch_nocreate, write_regv, delete_regv, comspec, create_symlink

-i

마법사 모드를 실행합니다.

마법사 모드는 GUI 없이 cmake 를 실행합니다. 사용자는 프롬프트에서 프로젝트 설정관련 물음에 대해 답을 해 주어야 합니다. 답변 내용은 cmake 케쉬 값으로 설정 및 사용됩니다.

-L[A][H]

케쉬되지 않은 변수를 리스트 업합니다.

케쉬에 등록된 변수의 리스트는 CMake 가 실행하게 되고 INTERNAL 혹은 ADVANCED 설정되지 않은 CMake 케쉬의 변수를 리스트업 합니다. 이 옵션은 현재 CMake 설정을 효과적으로 보여주며 -D 옵션으로 바꾼 후에 확인을 위해 사용할 수 있습니다. 변수를 바꾸는 것은 여러 변수들이 생성되는 결과를 가져옵니다. 이 옵션에 A 를 사용하는 경우 advanced 변수도 볼 수 있게 됩니다. 마찬가지로 H 를 사용하는 경우 각 변수의 도움말을 볼 수 있을 겁니다.

-N

보기 모드.

오직 케쉬만을 로드합니다. 설정을 실행하거나 스텝을 생성할 수 없습니다.

-P <file>

스크립트 모드를 수행합니다.

입력한 cmake 파일(CMake 언어로 쓰여진)을 수행합니다. 설정이나 생성한 스텝이 없는 경우 수행하고 케쉬는 수정하지 않습니다. 만약 변수가 -D 를 사용하여 정의되었다면, -P 인지 전에 수행되어야만 합니다.

--graphviz=[file]

graphviz 를 사용하여 의존성 그래프를 생성합니다.

프로젝트에 의존된 모든 라이브러리와 실행파일을 포함하여 graphviz 입력 파일을 생성합니다.(역주: graphviz 는 이전에 cppdoc 를 사용할 때 만난 도구인데요, 클래스의 그래프를 그리는 등 오픈소스쪽에서 종종 사용하는 도구로 문서의 그림 및 차트 등을 생성해 내는 도구입니다.)

--system-information [file]

현재 시스템의 정보를 뜹니다.

현재 시스템의 다양한 정보를 뜹니다. CMake 프로젝트의 바이너리 트리의 가장 상위에서 실행한다면 추가적으로 케쉬, 로그파일 등의 정보를 함께 생성하게 됩니다.

--debug-trycompile

컴파일 디렉토리를 삭제하지 않습니다.

try_compile 호출로 생성된 파일과 디렉토리를 삭제하지 않습니다. 이 옵션은 try_compiles 가 실패하여 디버깅 하고자 할 때 유용합니다.

--debug-output

cmake 를 디버그 모드로 설정합니다.

--trace

cmake 를 추적 모드로 설정합니다.

역주: 이하 --help 커멘드 생략..

생성기

생략.

다양한 환경의 다양한 빌더들을 지원한다는 내용. MS 의 visual studio 계열, borland 계열, unix system, eclipse 쪽, CodeBlocks 도 지원합니다.

명령어

add_custom_command

생성된 빌드 시스템에 사용자 빌드 규칙을 추가합니다.

일반적으로 사용하게 되는 add_custom_command 의 두 가지 사용 예제에 대해 알아봅니다.첫 번째는, output 에 대한 사용자 정의를 추가하는 것입니다.

add_custom_command(OUTPUT output1 [output2 ...]
                                  COMMAND command1 [ARGS] [args1...]
                                  [COMMAND command2 [ARGS] [args2...] ...]
                                  [MAIN_DEFENDENCY depend]
                                  [DEPENDS [depends...]]
                                  [IMPLICIT_DEPENDS <lang1> depend1 ...]
                                  [WORKING_DIRECTORY dir]
                                 

속성



전역 속성



폴더 속성



타겟 속성



테스트 속성



소스 파일 속성



표준 CMake 모듈



정책



변수



행동을 변화시키는 변수



시스템을 설명하는 변수



언어 변수



빌드 제어 변수



제공 정보 관련 변수



트랙백

이 글과 관련된 글 쓰기 (트랙백 보내기)
TrackbackURL : http://aronze.egloos.com/tb/1468590 [도움말]

덧글

덧글 입력 영역