간단하게 알아보는 CMake 활용법

최근 C++ 빌드 툴로 CMake을 사용하고 있다. CMake는 개인적인 평가로서는 문법이 강력하고, 이해하기 쉬우며, 확장성이 높은 것 같다.

CMake에 대한 기본전인 자료들은 구글을 통해 얻을 수 있을 것이다.

이 글에서는 프로젝트를 복잡하게 구성하면서 CMake을 사용하다보면

  • GitHub에서 다운로드 받은 소스가 CMake을 지원할 때 어떻게 환경 변수를 연동할 것인지?
  • 경로 설정은 어떻게 할 것인지?
  • ..

등의 어려움에 맞다뜨려진다. 이런 문제점들을 하나씩 해결하는 것이다.

1. 변수

변수를 사용한다는 것은 다양한 빌드 조건들을 유연하게 대응하려는 시도이기도 하고, 이미 만들어져 있는 빌드 환경에서 내가 필요한 조건들을 지정할 때 사용할 수 있다.

1.1. 변수 정의

변수를 정의할 때 CMake에서는 SET() 함수를 사용할 수 있다. 형식은 다음과 같다.
SET ( <변수명> <값> )

예를 들면 다음과 같이 정의할 수 있다.
SET(LUNA_SW_PLATFORM ${CMAKE_CURRENT_SOURCE_DIR})

1.2. 변수 참조

변수 참조는 다음과 같이 두 가지 형식이 있다.
$변수명
${<변수명>}


2. 전처리기 매크로 추가

C/C++ 빌드 때 전처리기에 사용될 매크로를 정의할 수 있다. 이것은 컴파일러 옵션 중 -D에 해댕한다. 
ADD_DEFINITIONS ( -D<매크로> -D<매크로> -D<매크로>=값 ... )

예를 들면 LUNA_PLATFORM이 WIN32라고 한다면
ADD_DEFINITIONS ( -DLUNA_PLASTFORM=WIN32 )




댓글

이 블로그의 인기 게시물

macOS가 갑자기 부팅이 되지 않을 경우 데이터 복구 또는 백업 방법

C++로 프로그래밍할 때 인자 또는 리턴 값으로 std::vector 등 STL 데이터 타입 처리하는 좋은 방법

Git 저장소를 병합하는 방법(How to merge repositories in Git)