C언어: CMake 사용법
CMakeLists.txt
파일 작성법
cmake_minimum_required(VERSION 3.13)
cmake의 최소 요구 버전을 명시
project(프로젝트명)
프로젝트명 정의
set(CMAKE_C_STANDARD 99)
C 버전 정의
add_executable(타겟 소스파일(dependency 파일들 포함) ...)
소스파일’들’과 함께 타겟을 생성
(makefile에서의 rule과 비슷하게 보인다. 단 object file이 아니라 바로 소스파일을 명시한다.)
include_directories(헤더파일_경로)
해당 경로에 위치한 헤더파일들을 모든 타겟에 대해 접근 가능하도록 한다.
target_include_directories(타겟 <INTERFACE|PUBLIC|PRIVATE> 헤더파일_경로)
해당 경로에 위치한 헤더파일들을 특정 타겟에 대해 접근 가능하도록 한다. (일반적인 경우 PUBLIC을 사용하면 될 듯 하다.)
CMake 공식 문서 참조
subproject 선언
add_subdirectory(subproject가 위치한 경로)
target_include_directories — CMake 3.21.0-rc1 Documentation
빌드
cmake .
CMakeLists.txt
파일이 있는 경로를 cmake
의 argument로 전달하면 된다.