임베디드/리눅스(Linux)

리눅스 빌드 시스템(3) cmake Linux Build System cmake

마달랭 2024. 9. 12. 14:59

목차

  1. 리눅스 빌드 시스템(1) gcc Linux Build System gcc
  2. 리눅스 빌드 시스템(2) make Linux Build System make

 

 

CMake

  • 크로스 플랫폼 빌드 자동화 도구
  • 소프트웨어 프로젝트를 빌드, 테스트 및 패키지하는 용도
  • CMake 가 빌드를 직접 해주는 것은 아니다.
  • Makefile을 자동으로 생성해주는 Build System

CMake 설치

sudo apt install g++ cmake -y

 

 

 

CMake 사용하기

 

 

test3 디렉토리를 test4 이름의 디렉토리로 복사해 준다.

test4 디렉토리로 이동한 후 이전에 다루었던 make 파일인 Makefile을 삭제해 준다.

CMakeLists.txt 파일을 작성한 뒤 저장해 준다.

 

CMakeLists.txt

cmake_minimum_required(VERSION 3.5)
project(MyYellowProject)

# 빌드할 실행 파일(gogo)과 소스 파일들을 정의합니다.
add_executable(gogo main.c yellow.c)

# 헤더 파일이 있는 디렉토리를 포함시킵니다.
include_directories(${CMAKE_CURRENT_SOURCE_DIR})

# 실행 파일(gogo)이 사용하는 헤더 파일(yellow.h)을 명시합니다.
target_include_directories(gogo PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})

 

cmake .
ls

 

 

Makefile이 생성된 것을 볼 수 있다.

 

 

Cmake를 통해 완성된 Makefile을 열어보면 간단한 c파일을 빌드 하더라도 되게 복잡하게 생긴걸 볼 수 있다.

개발 과정에 따라 작성된 Makefile 을 수정해야 할 필요도 있기 때문에 알아 볼 수 있어야 한다.

 

 

make를 통해 build 후 생성된 파일을 실행하면 정상적으로 Build가 된 점을 확인할 수 있다.

 

 

728x90