home..

C++ cmake 빌드 정리

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)
© 2025 HookSSi   •  Powered by Soopr   •  Theme  Moonwalk