cmake 사용법과 활용 

cmake는 크로스플랫폼을 지원하는 빌드 시스템입니다.

오픈소스에 관한 관심이 높아짐에따라 하나의 프로젝트를 여러 플랫폼에서 동작하게 하는 것이 중요해졌는데요. 

이러한 상황에 cmake는 매우 쓸모있는 프로그램이라고 할수 있을 것 같아요.

스터디그룹에서 개인 발표로 진행한 cmake PT 자료를 정리해볼까합니다.

cmake를 이용하여 리눅스기반의 C/C++프로젝트를 윈도우에서 빌드하여 사용하는 것을 목표로 잡고 구성한 자료입니다.

활용의 예를 들어보면 이렇습니다.

윈도우 개발환경에서 어떠한 오픈소스 프로젝트를 다운받아 실행시키려보니 이 프로젝트는 리눅스에서 개발된 프로젝트다라고 한다면 매우 번거로운 작업을 통해 윈도우환경으로 변환하는 작업을 해야합니다. 이렇게 매우 귀찮은 작업을 손으로 할것인지???

 

자 이제부터 cmake에 대한 이해와 사용법등을 배워봅시다.

 

 

 

리눅스환경의 경우 다음과같이 gcc -> make를 통해 빌드하게 되는데요

 

윈도우 환경에서는 리눅스에서 만들어진 환경을 어떤식으로 빌드시키는지요?

소스코드를 가지고 비주얼스튜디오에서 로드하여 사용하곤 합니다.

하지만 복잡한 프로젝트의 경우 종속성, 빌드속성, 라이브러리 경로 등의 문제로 소스코드만 가지고 빌드를 진행하기에는 꽤나 많은 문제를 직면하게됩니다. 이럴 경우 CMake가 많은 도움이 됩니다!

 

 

 

 

 

 

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

 

 

 

윈도우의 경우 cmake-GUI를 이용하면 보다 쉽게 사용할 수 있습니다.

where is the sourcecode는 makefiles가 존재하는 프로젝트를 설정합니다.

다음 밑의 where to build the bin... 은 프로젝트를 제너레이팅할 대상 폴더입니다.

저같은경우 build2라는 폴더안에 넣기로 설정하였습니다.

입력하셨으면 configure버튼을 눌러 각자 환경에 맡게 설정하시면 됩니다.

 

 

cmakefiles는 cmke를 통해 비주얼스튜디오 프로젝트파일이나 메이크파일 xcode 등으로 제너레이팅이 가능합니다.

 

 

 

 

 

 

 

오픈소스를 배포할때도 다른 플랫폼환경의 사용자들을 생각하여 cmake파일을 배포해두면 보다 많은 범용성을 갖게 할 수 있습니다.



출처: https://eunmink.tistory.com/6 [은민 블로그]

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
174 [Unix/Linux][유닉스/리눅스] chmod [권한변경] /bin/chmod 졸리운_곰 2021.02.14 247
173 How to Install Dev-C++ and the GLUT Libraries for Compiling OpenGL Programs with ANSI C file 졸리운_곰 2021.02.02 321
172 [무료 리눅스 linux 백신, 안티바이러스] 무료 리눅스 백신 ClamAV 이용 및 문제 해결법 졸리운_곰 2021.02.01 342
171 [C/C++] 미니멀 가상화폐 코드 , 미니멀 블룩체인, noincoin (Block Chain in C Major) file 졸리운_곰 2021.01.30 279
170 리눅스 tee, 화면과 파일에 동시 출력하기 졸리운_곰 2021.01.21 395
169 [C/C++ 네트워크 프로그래밍] POCO 라이브러리의 특징 졸리운_곰 2021.01.06 643
168 Visual Studio Community로 V8 엔진 다운로드 및 빌드하고 간단히 살펴보기 file 졸리운_곰 2020.11.30 271
167 [Linux] [C/C++] CMake를 이용한 패키지 빌드 file 졸리운_곰 2020.11.08 297
» [Linux][C/C++] cmake 사용법과 활용 file 졸리운_곰 2020.11.08 552
165 [CMake] Linux C/C++ cmake 시작하기 졸리운_곰 2020.11.08 398
164 [C++] CMake Build System file 졸리운_곰 2020.11.08 328
163 [리눅스, Linux] YUM 명령어 정리 file 졸리운_곰 2020.11.07 322
162 자바(Java) instanceof 사용방법 졸리운_곰 2020.10.29 328
161 Building libtorrent with Visual Studio file 졸리운_곰 2020.10.25 309
160 [분석할 소스] microPython 마이크로 파이썬 소스 file 졸리운_곰 2020.10.18 348
159 [분석할 소스] MicroPython.js MicroPython transmuted into Javascript by Emscripten. file 졸리운_곰 2020.10.18 250
158 [리눅스, linux] 프로세스를 이름으로 단번에 종료하기 졸리운_곰 2020.08.17 497
157 Fun with YouTube Data API v3 (Public Data) and Kigs Framework file 졸리운_곰 2020.07.19 314
156 Kigs Framework Introduction (8/8) - Data Driven Application file 졸리운_곰 2020.07.18 302
155 ubuntu 18.04 - Ubuntu 한글 입력기 설치(fcitx) file 졸리운_곰 2020.06.29 334
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED