MAKE / CMAKE
CMake: 크로스 플랫폼 빌드 시스템 생성기
CMake는 복잡한 빌드 환경을 쉽게 관리하고 자동화하기 위해 사용되는 툴입니다. 이 도구는 프로젝트 설정과 빌드 환경을 생성하는 데 중점을 둡니다. 특히 다양한 플랫폼(Windows, macOS, Linux 등)과 컴파일러에서 일관된 빌드 환경을 제공하고자 할 때 유용합니다.
Cmake의 주요 특징
- 플랫폼 독립적: CMake는 CMakeLists.txt 파일에 프로젝트의 빌드 과정과 의존성을 기술하고, 이를 바탕으로 플랫폼에 맞는 빌드 시스템 파일(예: Makefile, Visual Studio 솔루션 파일 등)을 생성합니다.
- 구성과 사용의 용이성: 사용자는 간단한 명령어(cmake .)로 다양한 빌드 설정 파일을 자동으로 생성할 수 있습니다. 이 과정에서 CMake는 주어진 시스템 환경을 감지하고 최적화된 빌드 파일을 제공합니다.
- 재사용성 및 확장성: CMake는 모듈화된 접근을 통해 크고 복잡한 프로젝트의 관리를 단순화하며, 사용자 정의 모듈 및 스크립트를 쉽게 추가할 수 있습니다.
cmake && ccmake
cmake
cmake ..명령은 가장 기본적인 CMake 명령으로, 커맨드 라인에서 직접 사용됩니다. 이 명령은 지정된 소스 디렉토리(여기서는 현재 디렉토리의 상위 디렉토리를 가리킴)의 CMakeLists.txt 파일을 해석하여 빌드를 위한 설정 파일들을 생성합니다. 이 과정은 비대화적으로 실행되어 사용자는 터미널에서 직접 모든 옵션을 지정하거나 기본값을 사용해야 합니다.
사용 예시
mkdir build
cd build
cmake ..
ccmake
ccmake .. 명령은 cmake의 커서 기반 그래픽 인터페이스를 제공합니다. 이 인터페이스는 사용자가 텍스트 기반 UI에서 CMake 설정을 보고 수정할 수 있게 해줍니다. ccmake는 프로젝트의 설정 옵션을 보다 쉽게 조작하고 구성할 수 있는 대화형 방식을 제공하며, 이는 특히 복잡한 프로젝트 설정에서 유용합니다.
사용 방법
- ccmake ..를 실행합니다.
- 화면에 표시된 메뉴를 사용하여 CMake 변수를 조정합니다.
- 'c'를 눌러 구성을 진행하고, 필요한 변경 사항을 적용한 후 'g'를 눌러 생성 과정을 완료합니다.
Make : 빌드 자동화 도구
Make는 특히 Unix-like 시스템에서 널리 사용되는 빌드 자동화 도구입니다. Makefile을 통해 소스 파일의 컴파일 방법과 객체 파일 간의 의존성을 정의하고, 이를 바탕으로 효율적인 빌드 과정을 수행합니다.
주요 특징
- 직접적인 빌드 스크립트: 사용자는 Makefile을 통해 각 타겟(목표 파일)의 빌드 규칙과 의존성을 상세하게 기술합니다. make 명령을 실행하면 Make는 Makefile을 해석하여 필요한 파일만을 재컴파일합니다.
- 효율성: Make는 이미 빌드된 객체 파일을 재사용하여 불필요한 컴파일을 방지함으로써 빌드 시간을 최소화합니다.
- 유연성: 소스 코드가 수정된 부분만을 탐지하고 해당 부분만을 재컴파일함으로써 빌드 과정을 최적화합니다.
두 도구의 상호 작용
CMake와 Make는 함께 사용되어 강력한 빌드 환경을 구성할 수 있습니다. CMake는 다양한 시스템과 환경에서 사용될 수 있는 Makefile 등의 빌드 설정 파일을 생성하고, Make는 이러한 설정 파일을 바탕으로 실제 소프트웨어 빌드를 수행합니다.
'Linux' 카테고리의 다른 글
[Ubuntu] 외부망 안되는 Ubuntu Sever 에 패키지 설치하기 (0) | 2024.05.13 |
---|---|
MAKE && CMAKE 주요 옵션들 (0) | 2024.04.22 |
디렉터리 통째로 복사시 유의할 점(PXE/Kickstart) (0) | 2024.04.04 |
리눅스 tee 명령어 (0) | 2024.04.01 |
리눅스 우분투 설치 후 기본 설정 (0) | 2024.04.01 |