CMake 명령어 참조

CMake는 다양한 빌드 작업을 수행하기 위한 명령어들을 제공한다. 아래는 자주 사용되는 주요 CMake 명령어들과 그 설명이다.

project

project(<name> [LANGUAGES <languages>])

  • 설명: 프로젝트의 이름과 사용 언어를 정의한다.

  • 예시:

    project(MyProject LANGUAGES CXX)

add_executable

add_executable(<name> [WIN32] [MACOSX_BUNDLE] [EXCLUDE_FROM_ALL] <source1> [source2 ...])

  • 설명: 실행 파일을 생성한다. <name>은 생성될 실행 파일의 이름이고, 나머지는 소스 파일들이다.

  • 예시:

    add_executable(MyExecutable main.cpp)

add_library

add_library(<name> [STATIC | SHARED | MODULE] [EXCLUDE_FROM_ALL] <source1> [source2 ...])

  • 설명: 정적 라이브러리(STATIC), 동적 라이브러리(SHARED), 또는 모듈(MODULE)을 생성한다.

  • 예시:

    add_library(MyLibrary STATIC lib.cpp)

target_link_libraries(<target> [item1 [item2 [...]]])

  • 설명: 특정 실행 파일이나 라이브러리에 다른 라이브러리를 링크한다.

  • 예시:

set

set(<variable> <value> [CACHE <type> <docstring> [FORCE]])

  • 설명: 변수를 설정한다. CACHE 옵션을 사용해 캐시된 변수로 설정할 수 있다.

  • 예시:

find_package

find_package(<package> [version] [EXACT] [QUIET] [REQUIRED] [components...])

  • 설명: 외부 패키지를 찾아서 설정을 가져온다. REQUIRED 옵션을 사용하면 패키지가 없을 시 오류를 발생시킨다.

  • 예시:

include_directories

include_directories([AFTER|BEFORE] [SYSTEM] dir1 [dir2 ...])

  • 설명: 컴파일 시 포함할 디렉토리를 지정한다. SYSTEM 옵션은 시스템 헤더로 취급한다.

  • 예시:

add_subdirectory

add_subdirectory(source_dir [binary_dir] [EXCLUDE_FROM_ALL])

  • 설명: 하위 디렉토리를 빌드에 포함시킨다. 하위 디렉토리에서 별도의 CMakeLists.txt 파일을 정의할 수 있다.

  • 예시:

message

message([<mode>] "message text" [...])

  • 설명: 메시지를 출력한다. modeSTATUS, WARNING, AUTHOR_WARNING, SEND_ERROR, FATAL_ERROR를 사용할 수 있다.

  • 예시:

if / elseif / else / endif

if(expression) ... [elseif(expression) ...] [else() ...] endif()

  • 설명: 조건문을 정의한다.

  • 예시:

foreach / endforeach

foreach(loop_var [items]) ... endforeach()

  • 설명: 반복문을 정의한다.

  • 예시:

while / endwhile

while(condition) ... endwhile()

  • 설명: 조건이 참일 때까지 반복문을 실행한다.

  • 예시:

configure_file

configure_file(<input> <output> [COPYONLY] [ESCAPE_QUOTES] [@ONLY])

  • 설명: 파일을 복사하거나, 설정을 기반으로 파일을 생성한다.

  • 예시:

install

install(TARGETS targets... [EXPORT export-name] [RUNTIME|LIBRARY|ARCHIVE|FRAMEWORK|BUNDLE|PRIVATE_HEADER|PUBLIC_HEADER|RESOURCE] [DESTINATION <dir>] [...])

  • 설명: 빌드된 파일을 설치할 위치를 정의한다.

  • 예시:

cmake_minimum_required

cmake_minimum_required(VERSION version [...])

  • 설명: CMake의 최소 버전을 설정한다. 특정 버전 이상의 CMake에서만 프로젝트가 빌드되도록 한다.

  • 예시:

list

list(<operation> <list> <args>...)

  • 설명: 리스트 변수를 관리하는 다양한 작업을 수행할 수 있다. APPEND, REMOVE_ITEM, LENGTH, GET 등의 작업이 가능한다.

  • 예시:


관련 자료:

  • Kitware Inc., CMake Documentation, https://cmake.org/cmake/help/latest/

  • Martin, R., Mastering CMake, Kitware, Inc., 2010.

  • Saxer, A., Professional CMake: A Practical Guide, Leanpub, 2020.

Last updated