ݺߣ

ݺߣShare a Scribd company logo
Cmake소개cross-platform build system Աٴǰ2010-06-08깶명관
CMakeKitware Inc.오픈소스/ BSD 라이선스빌드 시스템 제너레이터
지원 플랫폼운영체제Linux, *BSD, Unix, Mac OS X, MS Windows빌드 시스템Makefile(Unix, NMake, Borland, Watcom, MinGW, MSYS, Cygwin) Visual Studio 6, 7, 8, 9, 10Kdevelop, Eclipse, XCode, Code::Block
빌드 시스템
빌드 시스템 제너레이터빌드 시스템에 독립적인 설정파일에 빌드과정을 기술하고,특정 빌드 시스템의 프로젝트 설정을 생성(Generate)한다.
빌드 과정CMakeLists.txtCMake추가Native Build System.vcproj/makefile/etcNative Build ToolsVisual Studio/Eclipse/KDevelop/etc기존Excutables/Libraries.exe/.dll/.lib/.a/.so/.dylib
왜?프로젝트 구성이 특정 빌드 시스템으로부터 독립다양한 빌드 시스템의 설정을 통합관리복잡한 빌드 환경을 쉽게 관리단순하고 직관적인 문법유연하고 확장성이 뛰어남
한계직접 Make를 수행하지 않으므로대상 네이티브 빌드 시스템이 가지는 한계를 넘지 못함
스크립트 문법COMMAND(args...)# 변수/리스트SET(Foo a b c)COMMAND(${Foo})COMMAND(a b c)# 분기IF(var)    SOME_COMMAND(...) ENDIF(var) # 반복FOREACH(f ${VAR}) MESSAGE(${f}) ENDFOREACH(f)
데모 : hello, World
데모 : static lib
KDE 사례 Why the KDE project switched to CMake -- and how 가장 큰 FOSS(Free and Open Source Software)프로젝트 중 하나1200명 이상의 참여 개발자4백만 줄이 넘는 소스10만 명 이상의 사용자를 위한 80가지 언어 지원매일 300번 이상의 커밋
빌드 시스템으로 Autotools를 사용전체구조를 이해하기 어려워 Autohell이라 불리움SCons(파이썬 기반 빌드 툴) 검토SCons는 대형 프로젝트에 적용 할 만큼 성숙하지 못함특히 Linux가 아닌 플랫폼에서 문제가 됨CMake성공적으로 진행돼 KDE4 버전부터 정식 적용
CMake를 사용하는 프로젝트Allegro libraryArmadillo - linear algebra libraryAvidemuxawesome - window managerBlender 3DBoost C++ LibrariesBullet Physics EngineChickenChipmunk physics engineclangConkyDoomsday EngineDrishtiFennelGammuGDCMGmshHypertablehuginIGSTKInsight Segmentation and Registration ToolkitKDE (starting with version 4)KicadLMMSLLVMMariaDBMiKTeXMuseScoreMySQLOGREOpenSceneGraphOpenCVOpenFLUIDParaViewPopplerPvPGNQuantum GISRaw TherapeeRemRyzom CoreScribusSecond LifeSuperTuxSlicerStellariumThe Visualization ToolkitVXL
Converters http://www.cmake.org/Wiki/CMake#Converters_from_other_buildsystems_to_CMakeautomake/autotools/autoconfam2cmake (requires Ruby)Alternative Automake2CMake (requires PHP)Converting autoconf testsQmakeqmake converter (requires Ruby)Visual Studiovcproj2cmake.rb (requires Ruby)vcproj2cmake.ps1(PowerShell version)
- 끝 -
Ad

Recommended

PDF
스프링캠프2014 - 즐거운 개발을 위한 스마트한 습관
Daekwon Kang
PPTX
모듈시스템과 webpack
DataUs
PDF
DGMIT 제3회 R&D 컨퍼런스 1TEAM : NODE.JS
dgmit2009
PPTX
Node.js 살펴보기
명신 김
PPTX
빠른 프로토타이핑을 위한 웹앱 자동화 툴 - YEOMAN
정호 전
PPTX
Cms
Eunho Seo
PDF
続・䲹ԲԲをフォークしてみた
Masahiko Hashimoto
PDF
SAGE Newguest 소개 자료 (141028)
Hyunwoo Kim
PPT
유니온 소개
ojinga1
PPT
성희롱예방교육 자료
znfwns
PPT
շɾٳٱ소개
정우 김
PPT
예덴탈아트 소개
shin gijoo
PPTX
잇츠스킨 자료
minseok1012
PDF
윙스턴어학원 소개
Chengae Kim
PDF
소개
woong2da
PPTX
콘텐츠사업팀 소개
Il-joon Park
PPTX
메일링 자료
성환 양
PDF
찾아가는 공유마당 1-1 공유가 가져온 변화와 미래(윤종수)
Creative Commons Korea
PDF
효율적인 2D 게임 개발을 위한 2d skeletal 구조에 관한 연구 - Spine을 중심으로
Hyunwoo Kim
PDF
ʳ자료
lee
PDF
멀티미디어 서비스를 위한 AirPlug 솔루션 소개 (대학 강의 자료)
AirPlug Inc.
PPT
레가시 프로젝트의 빌드 자동화
Jaehoon Choi
ODP
Sage
afiblal
PPTX
SAGE
samiv6
PPTX
maven 소개
Suan Lee
PDF
Ninja
Ji Hun Kim
KEY
내 손에 픽셀을 쥐어다오
KwangSam Kim
PPTX
cross compile
he4722
PPTX
Docker 로 Linux 없이 Linux 환경에서 개발하기
iFunFactory Inc.

More Related Content

Viewers also liked (20)

PPT
유니온 소개
ojinga1
PPT
성희롱예방교육 자료
znfwns
PPT
շɾٳٱ소개
정우 김
PPT
예덴탈아트 소개
shin gijoo
PPTX
잇츠스킨 자료
minseok1012
PDF
윙스턴어학원 소개
Chengae Kim
PDF
소개
woong2da
PPTX
콘텐츠사업팀 소개
Il-joon Park
PPTX
메일링 자료
성환 양
PDF
찾아가는 공유마당 1-1 공유가 가져온 변화와 미래(윤종수)
Creative Commons Korea
PDF
효율적인 2D 게임 개발을 위한 2d skeletal 구조에 관한 연구 - Spine을 중심으로
Hyunwoo Kim
PDF
ʳ자료
lee
PDF
멀티미디어 서비스를 위한 AirPlug 솔루션 소개 (대학 강의 자료)
AirPlug Inc.
PPT
레가시 프로젝트의 빌드 자동화
Jaehoon Choi
ODP
Sage
afiblal
PPTX
SAGE
samiv6
PPTX
maven 소개
Suan Lee
PDF
Ninja
Ji Hun Kim
KEY
내 손에 픽셀을 쥐어다오
KwangSam Kim
유니온 소개
ojinga1
성희롱예방교육 자료
znfwns
շɾٳٱ소개
정우 김
예덴탈아트 소개
shin gijoo
잇츠스킨 자료
minseok1012
윙스턴어학원 소개
Chengae Kim
소개
woong2da
콘텐츠사업팀 소개
Il-joon Park
메일링 자료
성환 양
찾아가는 공유마당 1-1 공유가 가져온 변화와 미래(윤종수)
Creative Commons Korea
효율적인 2D 게임 개발을 위한 2d skeletal 구조에 관한 연구 - Spine을 중심으로
Hyunwoo Kim
ʳ자료
lee
멀티미디어 서비스를 위한 AirPlug 솔루션 소개 (대학 강의 자료)
AirPlug Inc.
레가시 프로젝트의 빌드 자동화
Jaehoon Choi
SAGE
samiv6
maven 소개
Suan Lee
내 손에 픽셀을 쥐어다오
KwangSam Kim

Similar to CMake 소개 (20)

PPTX
cross compile
he4722
PPTX
Docker 로 Linux 없이 Linux 환경에서 개발하기
iFunFactory Inc.
PPTX
Continuous integration: the architecture of open source application
김진태 Jintae Kim
PDF
대신 귀여운 리눅스를 드리겠습니다
RangHo Lee
PDF
이호민 - 우분투 환경에서의 임베디드 개발환경 구축 및 어플리케이션 개발 (2010Y06M24D)
Ubuntu Korea Community
PDF
Kernel 2.6 makefile_분석(송형주)
iamhjoo (송형주)
PDF
Docker Container
Seung-Hoon Baek
PPTX
Travis-ci를 이용한 CI/CD와 도커를 이용한 Jenkins for Android 구성하기
인수 장
PPTX
IoT with Raspberry Pi + Node JS - Chapter 1
Park Jonggun
PDF
DevOps - CI/CD 알아보기
SeungYong Baek
PDF
자바 웹프로젝트 개발환경 셋팅
Yoonsung Jung
PPTX
GitLab과 Kubernetes를 통한 CI/CD 구축
철구 김
PPTX
이것이 리눅스다 - 김종욱
Jong Wook Kim
PDF
리얼리눅스 제 1 회 세미나: "리눅스, 제대로 알고 코딩하자!"
리얼리눅스
PDF
NDC 2015 삼시세끼 빌드만들기
Hyunsuk Ahn
PDF
망고100 보드로 놀아보자 11
종인 전
PPTX
[KGC2014] 두 마리 토끼를 잡기 위한 C++ - C# 혼합 멀티플랫폼 게임 아키텍처 설계
Sungkyun Kim
PDF
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
Jinuk Kim
PPTX
[slideshare]k8s.pptx
ssuserb8551e
PDF
NDC14 모바일 게임서비스를 위한 사설 클라우드 구축/운영 분투기
Jinuk Kim
cross compile
he4722
Docker 로 Linux 없이 Linux 환경에서 개발하기
iFunFactory Inc.
Continuous integration: the architecture of open source application
김진태 Jintae Kim
대신 귀여운 리눅스를 드리겠습니다
RangHo Lee
이호민 - 우분투 환경에서의 임베디드 개발환경 구축 및 어플리케이션 개발 (2010Y06M24D)
Ubuntu Korea Community
Kernel 2.6 makefile_분석(송형주)
iamhjoo (송형주)
Docker Container
Seung-Hoon Baek
Travis-ci를 이용한 CI/CD와 도커를 이용한 Jenkins for Android 구성하기
인수 장
IoT with Raspberry Pi + Node JS - Chapter 1
Park Jonggun
DevOps - CI/CD 알아보기
SeungYong Baek
자바 웹프로젝트 개발환경 셋팅
Yoonsung Jung
GitLab과 Kubernetes를 통한 CI/CD 구축
철구 김
이것이 리눅스다 - 김종욱
Jong Wook Kim
리얼리눅스 제 1 회 세미나: "리눅스, 제대로 알고 코딩하자!"
리얼리눅스
NDC 2015 삼시세끼 빌드만들기
Hyunsuk Ahn
망고100 보드로 놀아보자 11
종인 전
[KGC2014] 두 마리 토끼를 잡기 위한 C++ - C# 혼합 멀티플랫폼 게임 아키텍처 설계
Sungkyun Kim
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
Jinuk Kim
[slideshare]k8s.pptx
ssuserb8551e
NDC14 모바일 게임서비스를 위한 사설 클라우드 구축/운영 분투기
Jinuk Kim
Ad

CMake 소개