3. CMake (KhuCv Build)

이원규·2023년 1월 3일
0

1. CMake

CMake(Cross Platform Make)는 멀티플랫폼으로 사용할 수 있는 Make(소프트웨어 개발을 위해 Unix운영체제에서 주로 사용되는 프로그램 빌드 도구)의 빌드 관리 시스템을 만들기 위한 오픈소스 프로젝트로 키트웨어와 인사이트 콘솔티엄에서 만들었다.
스스로 기존의 Make의 과정을 수행하지는 않고, 지정한 운영 체제에 맞는 Make파일의 생성 및 관리만을 수행하기 때문에 Meta Make라고도 불리우는 빌드 자동화 시스템이다. 가장 큰 이점은 Unix게열 OS중심이던 기존의 Make의 빌드 시스템과는 달리 한 번 작성해 두면 유닉스 계열은 물론 MS Window계열의 프로그래밍 도구도 지원함.
즉, 간략히 말해서 c/c++등 프로젝트는 빌드하기 위해서는 MakeFile을 작성해야 하는데, 이를 보다 쉽고 편리하게 작성할 수 있도록 도와주는 툴이 바로 CMake이다. 즉, c/c++ 언어 빌드 도와주는 툴.

CMake is an open-source, cross-platform family of tools designed to build, test and package software. CMake is used to control the software compilation process using simple platform and compiler independent configuration files, and generate native makefiles and workspaces that can be used in the compiler environment of your choice.

1-1. CMake로 원하는 라이브러리 build하기

  • 여기서 모든 진행은 terminal(CLI)에서 진행한다.
  1. $ CMakeLists가 있는 해당 파일로 들어간다. Ex) cd build-mac
  2. $ cmake . : makefile을 만들어라.
  3. $ make : CMakeLists를 참조하여 source file들을 build하기(실행 가능한 파일로 컴파일 하기) !

** build 과정에서 오류 해결: ls: .: Operation not permitted -> Mac 터미널에서 발생한 에러
해결법 참조 :tistory ls operation not permitted 해결

1 . 환경설정 > 보안 및 개인 정보 보호로 들어간다.

2 . 전체 디스크 접근 권한에서 terminal에 접근을 허락하면 오류 해결 !

2. 예제) KhuCv 실행하기

  1. OpenCV build
  2. wxWidigets build
  3. cmake로 KhuCv파일 build(CmakeLists.txt 참조하여)
  4. 3에서 생성된 파일에서 Run > KhuCv 파일 들어가면 다음과 같이 실행가능

profile
github: https://github.com/WKlee0607

0개의 댓글