위키득계정 ↗
기술

CMake

CMake기술
주요 역할
빌드 시스템 생성
대표 정의 파일
CMakeLists.txt
주요 경로
소스 트리와 빌드 트리
관련 도구
CTest와 CPack
CMake는 프로젝트의 빌드 정의에서 환경에 맞는 빌드 시스템을 생성하는 도구다. CMakeLists.txt에 타깃과 의존 관계를 적고 생성기를 선택해 Makefile이나 IDE 프로젝트 같은 구성을 만든다.

공통 정의에서 환경별 구성으로

프로젝트는 CMake 언어로 실행 파일이나 라이브러리를 만드는 관계를 정의한다. CMake는 생성기를 통해 사용 환경에 맞는 빌드 구성을 만든다. 따라서 같은 프로젝트에서 여러 환경용 빌드 파일을 각각 직접 유지하는 부담을 줄이는 접근이다.

소스와 빌드 트리

소스 트리에는 프로젝트의 원본과 정의 파일을 두고 빌드 트리에는 생성한 구성과 산출물을 둔다. CMakeCache.txt는 빌드 트리를 표시하고 선택한 설정 정보를 보관한다. 원본과 같은 디렉터리에서 생성할 수도 있지만 별도 빌드 디렉터리를 사용하는 구성을 권장한다.

생성 이후의 작업

생성한 빌드 도구를 직접 실행하거나 CMake의 빌드 명령을 통해 호출할 수 있다. 설치와 스크립트 실행, 그래픽 설정 화면도 제공한다. 테스트를 위한 CTest와 패키징을 위한 CPack은 관련 구성 요소이며 CMake 자체를 컴파일러로 보는 것은 정확하지 않다.

관련 문서

SCons / Meson / Ninja / Bazel / Make / 빌드 시스템