home..
C++ cmake 빌드 정리
September 2025
CMake란?
CMake
란, make
의 빌드 관리 시스템을 만들기 위한 오픈소스 프로젝트이다.
요약하면 CMake
를 통해 make
파일을 생성하고 make
를 통해 프로젝트를 빌드하는 식이다.
이 방식의 가장 큰 장점은 큰 프로젝트를 여러 플랫폼에 맞춰 빌드하고 배포하기에 편하다는 점이 있다.
CMake 개요
CMake
를 사용하는 프로젝트는 CMakeLists.txt
를 통해 CMake
가 수행된다.
따라서 make
를 사용하는 C++ 프로젝트는 CMake
를 사용하면 다음과 같은 과정을 거친다.
더욱 디테일 하게는 다음과 같은 과정을 거친다고 한다.
CMakeLists.txt 작성
최상위 CMakeLists.txt
파일에는 반드시 아래 두 개의 내용이 들어가야 한다.
# CMake 프로그램의 최소 버전
cmake_minimum_required(VERSION 3.30)
# 프로젝트 정보
project(
my-project
VERSION 1.0
DESCRIPTION "나의 cmake프로젝트"
LANGUAGES CXX
)
프로젝트의 이름은 필수로 들어가야하고 나머지는 옵션이다.
LANGUAGES
부분의 경우 C
프로젝트라면 C
, C++
프로젝트면 CXX
를 명시한다. 참고
예시
# 최소 cmake 버전 설정
cmake_minimum_required(VERSION 3.30.3)
# 프로젝트 이름 및 버전 설정
project(my-project VERSION 1.0.0 LANGUAGES CXX)
# C++17 표준을 사용
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# 소스 파일 목록 설정
set(
SOURCES
src/Base.cpp
src/A_Module.cpp
src/B_Module.cpp
src/main.cpp
)
# 실행 파일 생성
add_executable(
${PROJECT_NAME}
${SOURCES}
)
# compile 옵션
target_compile_options(${PROJECT_NAME} PUBLIC -Wall -Werror -O2)
# include 디렉토리 추가 (헤더 파일 경로)
target_include_directories(${PROJECT_NAME} BEFORE include)