본문 바로가기

Open Source/cmake

(7)
CMake build with ninja 참고 자료post comparing configure+make, cmake+make, and cmake+ninjahttp://martine.github.com/ninja/manual.html CMake 2.8.9 가 릴리즈 되었습니다. 2.8.9의 Major change 중 하나는 Ninja가 기본으로 들어갔다는 사실입니다.http://www.kitware.com/news/home/browse/CMake?2012_08_09&CMake+2.8.9+is+Now+Available%21 Ninja build는 빌드를 빠르게 하기 위한 툴입니다. 얼마나 빠른지는 post comparing configure+make, cmake+make, and cmake+ninja 를 참고하시면 됩니다. 현재 Ninja는 GYP..
[번역] CMake FAQ 원본 : http://www.vtk.org/Wiki/CMake_FAQ 조금씩 번역해 나가고 있습니다. 저는 무척 영어를 못하므로 원문을 직접 보시길 권합니다. 대충 의역한 부분이 많으니 혹 번역이 틀린 부분은 댓글 부탁드립니다. General information and availability CMake란 무엇인가? CMake는 크로스 플랫폼을 지원하는 오픈소스 빌드(make) 시스템이다. CMake는 플랫폼, 컴파일러에 대한 의존도가 낮은 간단한 설정 파일을 이용해 소프트웨어의 컴파일 과정을 돕는다. CMake는 당신의 개발환경에서 사용할 수 있는 makefile과 환경을 생성해준다. CMake는 매우 정교하다: 시스템 설정, preprocessor 생성, 코드 생성, 템플릿 생성이 필요한 복잡한 환경..
[CMAKE] File 다루기 [목차로 이동] CMAKE에서 파일과 폴더를 다루는 방법입니다. 특히 GLOB을 활용하면 파일 목록을 손쉽게 가공할 수 있습니다. 주의할 점은 FILE을 다루는 함수들은 cmake를 수행할 때 이루어진다는 점입니다. 헤더를 설치하는 등의 작업을 위해서는 INSTALL을 사용합니다. file(WRITE filename "message to write"... ) file(APPEND filename "message to write"... ) file(READ filename variable [LIMIT numBytes] [OFFSET offset] [HEX]) file(STRINGS filename variable [LIMIT_COUNT num] [LIMIT_INPUT numBytes] [LIMIT_OUTP..
[cmake] 2. Hello with two files. [목차로 이동] 큰 프로젝트를 수행할 때 파일을 하나로 수행하는 경우는 흔하지 않습니다. 그리고 파일 하나를 위해서는 굳이 빌드 스크립트가 필요하지 않겠죠. 한개 이상의 파일을 이용하는 간단한 예제를 만들어보고자 합니다. name.cpp를 추가하고 앞의 hello.cpp를 조금 수정해 보았습니다. # cat name.cpp char* name() { return "bunhere"; } # cat hello.cpp #include char* name(); int main() { std::cout
[cmake] 목차 1. cmake 소개 2. Hello Hello with Files. * File 다루기
[cmake] 2. Hello [목차로 이동] 정말 간단한 CMake 예제를 만들어보려고 합니다. 먼저 CMake가 빌드 스크립트 이므로, 빌드를 하는데 사용할 소스 코드를 준비해봅니다. # cat hello.cpp #include int main() { std::cout
CMake 소개 [목차로 이동] http://cmake.org/ cmake는 다양한 빌드 도구들 가운데 하나입니다. 일단 몇개의 빌드 도구들을 나열해보겠습니다. GNU build system (autotools라고 많이 부릅니다.) Waf Scons CMake도 위에 언급된 툴들과 유사한 기능을 하는 매우 유용한 빌드 도구입니다. 이중 가장 널리 알려져 있고 오래된 autotools는 사실상 리눅스 시스템의 대표적인 빌드 도구이지만, 무척 복잡하다고 생각합니다. - autotools란 하나의 툴을 말하는 것이 아닙니다. autoconf, automake, libtool을 포함합니다. make는 autotools의 하나로 보긴 어려울 것 같습니다. 이에 비해, cmake는 직관적이며 간단한 구조를 갖고 있습니다. 2006..