Created
May 30, 2018 13:25
-
-
Save jjangga0214/68ee591bdb9b3db47a623044c0c6c4cc to your computer and use it in GitHub Desktop.
CMakeLists.txt 기본 템플릿 (출처 : https://tuwlab.com/ece/27270)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 요구 CMake 최소 버전 | |
CMAKE_MINIMUM_REQUIRED ( VERSION <버전> ) | |
# 프로젝트 이름 및 버전 | |
PROJECT ( "<프로젝트_이름>" ) | |
SET ( PROJECT_VERSION_MAJOR <주_버전> ) | |
SET ( PROJECT_VERSION_MINOR <부_버전> ) | |
# 빌드 형상(Configuration) 및 주절주절 Makefile 생성 여부 | |
SET ( CMAKE_BUILD_TYPE <Debug|Release> ) | |
SET ( CMAKE_VERBOSE_MAKEFILE <true|false> ) | |
# 빌드 대상 바이너리 파일명 및 소스파일 목록 | |
SET ( OUTPUT_ELF | |
"${CMAKE_PROJECT_NAME}-${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.out" | |
) | |
SET ( SRC_FILES | |
<소스_파일> | |
<소스_파일> | |
... | |
) | |
# 공통 컴파일러 | |
SET ( CMAKE_C_COMPILER "<컴파일러>" ) | |
# 공통 헤더 파일 Include 디렉토리 (-I) | |
INCLUDE_DIRECTORIES ( <디렉토리> <디렉토리> ... ) | |
# 공통 컴파일 옵션, 링크 옵션 | |
ADD_COMPILE_OPTIONS ( <컴파일_옵션> <컴파일_옵션> ... ) | |
SET ( CMAKE_EXE_LINKER_FLAGS "<링크_옵션> <링크_옵션> ..." ) | |
# 공통 링크 라이브러리 (-l) | |
LINK_LIBRARIES( <라이브러리> <라이브러리> ... ) | |
# 공통 링크 라이브러리 디렉토리 (-L) | |
LINK_DIRECTORIES ( <디렉토리> <디렉토리> ... ) | |
# "Debug" 형상 한정 컴파일 옵션, 링크 옵션 | |
SET ( CMAKE_C_FLAGS_DEBUG "<컴파일_옵션> <컴파일_옵션> ..." ) | |
SET ( CMAKE_EXE_LINKER_FLAGS_DEBUG "<링크_옵션> <링크_옵션> ..." ) | |
# "Release" 형상 한정 컴파일 옵션, 링크 옵션 | |
SET ( CMAKE_C_FLAGS_RELEASE "<컴파일_옵션> <컴파일_옵션> ..." ) | |
SET ( CMAKE_EXE_LINKER_FLAGS_RELEASE "<링크_옵션> <링크_옵션> ..." ) | |
# 출력 디렉토리 | |
SET ( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BUILD_TYPE} ) | |
SET ( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BUILD_TYPE}/lib ) | |
SET ( CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BUILD_TYPE}/lib ) | |
# 빌드 대상 바이너리 추가 | |
ADD_EXECUTABLE( ${OUTPUT_ELF} ${SRC_FILES} ) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment