시작하는 사람을 위해 가장 간단한 가능한 CMakeLists 파일을 고려해보자
하나의 소스 파일로부터 실행 가능한 컴파일을 하기 위해 CMakeLists 파일은 두 줄을 포함한다
project (Hello)
add_excutable (Hello Hello.c)
Hello 를 실행 가능하게 빌드하기 위해 Makefiles 나 Microsoft project 파일을 생성하기 위해 CMake를 실행하면서 설명된 과정을 따른다
project 명령어는 결과의 workspace 이름이 무엇이어야 하는지 그리고 add_executable 명령어는 빌드 과정에 실행 가능한 타겟을 추가하는 것을 지시한다
이 간단한 예제에 대해 이것이 전부이다
만약 당신의 프로젝트가 몇 개의 파일을 필요로 한다면 그것은 또한 매우 쉽고, 단지 add_executable 줄을 다음과 같이 보여지는 대로 변경하면 된다
add_executable (Hello Hello.c File2.c File3.c File4.c)
add_executable은 CMake에서 실행 가능한 수 많은 명령어 들 중에 하나이다
다음에 나오는 더 복잡한 예제를 생각해보라
cmake_minimum_required (2.6)
project (Hello)
set (HELLO_SRCS Hello.c File2.c File3.c)
if (WIN32)
set (HELLO_SRCS ${HELLO_SRCS} WinSupport.c)
else ()
set (HELLO_SRCS ${HELLO_SRCS} UnixSupport.c)
endif ()
add_executable (Hello ${HELLO_SRCS})
# look for the Tcl library
find_library (TCL_LIBRARY
NAMES tcl tcl84 tcl83 tcl82 tcl80
PATHS /usr/lib /usr/local/lib
)
if (TCL_LIBRARY)
target_link_library (Hello ${TCL_LIBRARY} )
endif ()
이 예제에서 set 명령어는 리스트로 소스 파일을 함께 묶는 데 사용된다
if 명령어는 CMake가 Windows에서 실행되는지 아닌지에 기초하여 이 리스트에 WinSupport.c 나 UnixSupport.c를 추가할 지에 대해 사용된다
마지막으로 add_executable 명령어는 변수 HELLO_SRCS 에서 리스트 되어있는 파일들을 가지고 실행 가능하도록 빌드하는데 사용된다
find_library 명령어는 몇 개의 다른 이름과 몇 개의 다른 경로 안에서 Tcl 라이브러리를 찾는다
if 명령어는 만약 TCL_LIBRARY 가 발견되고 Hello 실행 가능한 타겟에 대해 그것을 링크선에 추가하는지 검사한다
# 문자의 사용은 주석을 표시한다는 것에 주목하라
#부터 줄의 끝까지의 모든 문자는 주석의 부분으로 간주한다
댓글