CMake
빌드 자동화 도구
CMake(Cross Platform Make)는 멀티플랫폼으로 사용할 수 있는 Make의 빌드관리시스템을 만들기 위한 오픈소스 프로젝트로 키트웨어와 인사이트 콘솔티엄에서 만들었다. 스스로 기존의 Make의 과정을 수행하지는 않고 지정한 운영 체제에 맞는 Make 파일(마이크로소프트 윈도우에서는 솔루션 파일)의 생성 및 관리만을 수행하기 때문에 Meta Make라고도 불리는 빌드 자동화(automation 또는 makemake)시스템이다. 가장 큰 이점은 유닉스 계열 OS 중심이던 기존의 Make의 빌드(build) 시스템과는 달리 한번 작성해 두면 유닉스 계열은 물론, 마이크로소프트 윈도우 계열의 프로그래밍 도구도 지원한다는 것이다.
발표일 | 2000년 |
---|---|
안정화 버전 | 3.31.2[1]
/ 2024년 12월 5일 |
미리보기 버전 | 3.21.0-rc1[2]
/ 2021년 6월 23일; 2021년 6월 30일; 2021년 7월 8일 |
저장소 | |
프로그래밍 언어 | C++[3] |
운영 체제 | 크로스 플랫폼 |
라이선스 | 제3항 BSD 라이선스 |
웹사이트 | cmake |
기능
편집- 소프트웨어 빌드에 특화된 언어로 독자적 설정 스크립트를 사용한다.
- C, C++, 자바, 포트란에 대해서는 자체적으로 의존 관계를 분석할 수 있다.
- 스위그, Qt 지원에 특화되어 있다.
- 마이크로소프트 비주얼 스튜디오를 자체적으로 지원한다(6, 7, 7.1, 8.0, 9.0 등).
- 이클립스용 빌드 파일을 생성할 수 있다.
- 타임스탬프를 통해 파일 내용의 변화를 알아낼 수 있다.
- 평행 빌드를 할 수 있다.
- 크로스 컴파일을 할 수 있다.
- 다양한 플랫폼을 지원한다.
- 내부 모듈인 CTest로 유닛 테스트를 수행할 수 있다.
- 내부 모듈인 CPack으로 자동 인스톨러를 만들 수 있다.
CMake 파일 예제
편집if (${UNIX})
set (DESKTOP $ENV{HOME})
else()
set (DESKTOP $ENV{USERPROFILE}/Desktop)
endif()
set (PRJ ${DESKTOP}/common/svn )
set (FILELIST ${PRJ}/src/source.txt )
message(STATUS "CMAKE_GENERATOR : ${CMAKE_GENERATOR}")
message(STATUS "DESKTOP : ${DESKTOP}")
message(STATUS "PRJ : ${PRJ}")
message(STATUS "FILELIST : ${FILELIST}")
message(STATUS "SYSTEM_NAME : ${CMAKE_SYSTEM_NAME}")
project(project_name)
include_directories(
${PRJ}/src
${PRJ}/includes
)
# Load SRC Variable from file
file(READ ${FILELIST} SRC)
string(REGEX REPLACE "#.*$" "" SRC ${SRC})
string(REPLACE "\n" ";" SRC ${SRC})
add_executable(${PROJECT_NAME} ${SRC} )
foreach (f ${SRC})
set_source_files_properties(${f} PROPERTIES LANGUAGE CXX)
endforeach(f)
if (${WIN32})
link_directories(
)
add_definitions(
-DDEFINE1
)
target_link_libraries(
${PROJECT_NAME}
wsock32.lib
)
endif()
CMake를 채택한 프로젝트
편집- KDE(4판부터)
- LMMS
- MySQL(마이크로소프트 윈도우, 리눅스)
- OpenLieroX
- OpenSceneGraph
- OpenSourceComputerVision
- SuperTux
- VTK
- 뮤즈스코어
- 스크리버스
- 스텔라리움
- 퀀텀 GIS
- 포플러 - Autoconf와 CMake를 함께 지원
- 헷지워즈
- [Radio|GNU Radio]
같이 보기
편집참조
편집- ↑ “CMake 3.31.2 available for download” (영어). 2024년 12월 5일. 2024년 12월 20일에 확인함.
- ↑ “CMake 3.21.0-rc1 is ready for testing”. 2021년 6월 23일.
- ↑ “Ohloh Analysis Summary - CMake”. Ohloh. 2014년 1월 22일에 원본 문서에서 보존된 문서. 2009년 12월 25일에 확인함.
외부 링크
편집- (영어) CMake 공식 사이트
이 글은 소프트웨어에 관한 토막글입니다. 여러분의 지식으로 알차게 문서를 완성해 갑시다. |