간단하게 알아보는 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 )