CMake

CMake에 대해서 알아보고, 사용법을 정리해두었습니다.

CMake란 프로그램을 다양한 환경에서 동일한 소스 코드를 빌드하는 것을 도와주는, 즉 크로스 플랫폼을 지원해주는 빌드 시스템 도구입니다.

CMakeLists.txt를 이용한 빌드 과정

CMakeLists.txt는 Cmake의 핵심 파일이라고 할 수 있습니다. 이 파일에는 Cmake가 어떻게 빌드해야할지에 대한 명세가 들어있습니다. 여기서 명세란, 프로젝트의 구조, 컴파일할 소스 파일, 사용할 라이브러리, 빌드 옵션 등을 말합니다.

요리에 비교를 해보면 이렇습니다.

  • 개발자: 손님
  • 레시피: CmakeLists.txt
  • 리드요리사: Cmake
  • 다른요리사: 빌드 도구 (예: Make, MSBuild)
  1. 손님이 요리를 만들어달라고 레시피를 리드요리사에게 가져왔습니다.
    = 개발자가 빌드를 해달라고 CmakeLists.txt를 Cmake에게 줍니다.

  2. 리드요리사는 레시피를 확인하고, 다른 요리사들이 요리할 수 있도록 구체적인 지침을 만들어 줍니다.
    = Cmake가 CmakeLists.txt를 읽고 빌드도구에 맞는 빌드파일(Makefile)을 생성합니다.

  3. 다른요리사는 전달받은 정보를 바탕으로 요리를 해서 손님에게 제공합니다.
    = 빌드도구가 전달받은 빌드파일(Makefile)을 바탕으로 실제로 프로그램을 빌드하여 개발자에게 제공합니다.

시작하기

Windows 기준으로 설명합니다.
CMakeLists.txt파일이 존재하는 프로그램을 빌드하는 것 위주로 설명합니다.

CMake 공식 사이트에서 WIndows용 바이너리를 다운로드 받습니다.
https://cmake.org/download/
(중간에 Add CMake to the system PATH를 체크해두면 환경변수를 등록해줘서 편함…)

CMake-gui를 실행합니다.

Pasted image 20230813153540

  • Where is the source code: CMakeLists.txt 파일이 있는 경로
  • Preset: 본인 PC환경에 맞춥니다.
  • Where to build the binaries: 빌드파일이 위치할 경로입니다. 따로 만들어주는 것을 추천

Pasted image 20230813153810

먼저 Configure를 눌러 사용할 컴파일러와 빌드 시스템을 결정합니다.

Pasted image 20230813154102

완료되면 이러한 프로젝트이 설정값들이 뜰텐데 필요한 경우에는 바꿀 수도 있습니다.

Pasted image 20230813154207

Configure 옆에 있는 Generate 버튼을 눌러 최종적으로 빌드합니다.


© 2022. All rights reserved.