- 전체
- C/C++ 일반
- C/C++ 수학
- C/C++ 그래픽
- C/C++ 자료구조
- C/C++ 인공지능
- C/C++ 인터넷
- wxWidget
- GTK+
- UNIX or LINUX programming
- 리눅스 마스터 - 국가공인자격
- VC++/ MFC
- C#/CLI/.NET
- QT/기타UI
- Boost lib
- 오픈소스 C 분석자료
- MSA (마이크로서비스), Docker, kubernetes
- WSL(windows subsystem linux)
UNIX or LINUX programming [Linux][C/C++] cmake 사용법과 활용
2020.11.08 20:59
cmake 사용법과 활용
cmake는 크로스플랫폼을 지원하는 빌드 시스템입니다.
오픈소스에 관한 관심이 높아짐에따라 하나의 프로젝트를 여러 플랫폼에서 동작하게 하는 것이 중요해졌는데요.
이러한 상황에 cmake는 매우 쓸모있는 프로그램이라고 할수 있을 것 같아요.
스터디그룹에서 개인 발표로 진행한 cmake PT 자료를 정리해볼까합니다.
cmake를 이용하여 리눅스기반의 C/C++프로젝트를 윈도우에서 빌드하여 사용하는 것을 목표로 잡고 구성한 자료입니다.
활용의 예를 들어보면 이렇습니다.
윈도우 개발환경에서 어떠한 오픈소스 프로젝트를 다운받아 실행시키려보니 이 프로젝트는 리눅스에서 개발된 프로젝트다라고 한다면 매우 번거로운 작업을 통해 윈도우환경으로 변환하는 작업을 해야합니다. 이렇게 매우 귀찮은 작업을 손으로 할것인지???
자 이제부터 cmake에 대한 이해와 사용법등을 배워봅시다.


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

윈도우 환경에서는 리눅스에서 만들어진 환경을 어떤식으로 빌드시키는지요?
소스코드를 가지고 비주얼스튜디오에서 로드하여 사용하곤 합니다.
하지만 복잡한 프로젝트의 경우 종속성, 빌드속성, 라이브러리 경로 등의 문제로 소스코드만 가지고 빌드를 진행하기에는 꽤나 많은 문제를 직면하게됩니다. 이럴 경우 CMake가 많은 도움이 됩니다!









윈도우의 경우 cmake-GUI를 이용하면 보다 쉽게 사용할 수 있습니다.
where is the sourcecode는 makefiles가 존재하는 프로젝트를 설정합니다.
다음 밑의 where to build the bin... 은 프로젝트를 제너레이팅할 대상 폴더입니다.
저같은경우 build2라는 폴더안에 넣기로 설정하였습니다.
입력하셨으면 configure버튼을 눌러 각자 환경에 맡게 설정하시면 됩니다.

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



오픈소스를 배포할때도 다른 플랫폼환경의 사용자들을 생각하여 cmake파일을 배포해두면 보다 많은 범용성을 갖게 할 수 있습니다.
출처: https://eunmink.tistory.com/6 [은민 블로그]
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.

