# CMake 설치 및 설정 방법

이 문서에서는 CMake의 설치 과정과 설정 방법을 단계별로 설명한다.

#### CMake 설치

CMake의 설치는 운영체제에 따라 다르다. 각 운영체제별 설치 방법을 설명한다.

**Windows에서 CMake 설치**

1. **CMake 공식 웹사이트 방문**\
   CMake의 공식 웹사이트인 [cmake.org](https://cmake.org)에서 최신 버전의 설치 프로그램을 다운로드한다.
2. **설치 프로그램 실행**\
   다운로드한 설치 프로그램을 실행한다. 설치 과정에서 "Add CMake to the system PATH" 옵션을 선택하여 CMake 명령을 명령 프롬프트에서 바로 사용할 수 있도록 설정한다.
3. **설치 경로 설정**\
   설치 경로를 지정하고, 추가 구성 요소 선택 후 설치를 완료한다.
4. **설치 확인**\
   명령 프롬프트에서 `cmake --version`을 입력하여 설치가 제대로 되었는지 확인한다. CMake 버전 정보가 출력되면 성공적으로 설치된 것이다.

**macOS에서 CMake 설치**

1. **Homebrew 설치 확인**\
   macOS에서 CMake를 설치하는 가장 쉬운 방법은 Homebrew 패키지 관리자를 사용하는 것이다. 터미널에서 `brew --version`을 입력하여 Homebrew가 설치되어 있는지 확인한다.
2. **Homebrew를 통한 CMake 설치**\
   Homebrew가 설치되어 있으면, 터미널에서 `brew install cmake` 명령어를 입력하여 CMake를 설치한다.
3. **설치 확인**\
   설치 후, `cmake --version` 명령어로 설치가 정상적으로 완료되었는지 확인한다.

**Linux에서 CMake 설치**

1. **패키지 관리자 이용**\
   Linux 배포판에 따라 `apt`, `yum`, 또는 `dnf`와 같은 패키지 관리자를 사용하여 CMake를 설치할 수 있다. 예를 들어, Ubuntu에서는 다음 명령어를 사용한다:

   ```bash
   sudo apt-get update
   sudo apt-get install cmake
   ```
2. **설치 확인**\
   설치 후, `cmake --version` 명령어를 사용하여 설치가 성공적으로 완료되었는지 확인한다.
3. **소스에서 빌드(선택 사항)**\
   최신 버전의 CMake가 필요하거나, 배포판의 기본 패키지 관리자가 제공하는 버전이 오래된 경우, CMake를 소스에서 직접 빌드할 수 있다. 이 경우 다음 단계로 진행한다:
   * CMake 소스 파일을 [cmake.org](https://cmake.org)에서 다운로드한다.
   * 다음 명령어를 사용하여 CMake를 빌드하고 설치한다:

     ```bash
     tar -zxvf cmake-x.y.z.tar.gz
     cd cmake-x.y.z
     ./bootstrap
     make
     sudo make install
     ```

#### CMake 설정

CMake의 설정은 프로젝트 디렉토리에서 이루어진다. 이 설정은 주로 `CMakeLists.txt` 파일을 작성하는 것을 의미한다.

**프로젝트 초기화**

1. **CMakeLists.txt 파일 생성**\
   프로젝트의 루트 디렉토리에 `CMakeLists.txt` 파일을 생성한다. 이 파일은 CMake가 프로젝트를 빌드할 때 사용하는 기본 설정 파일이다.
2. **프로젝트 이름과 버전 설정**\
   `CMakeLists.txt` 파일에 다음 내용을 추가하여 프로젝트 이름과 버전을 설정한다:

   ```cmake
   cmake_minimum_required(VERSION 3.10)
   project(ProjectName VERSION 1.0)
   ```
3. **C++ 표준 설정**\
   프로젝트에서 사용할 C++ 표준을 지정한다:

   ```cmake
   set(CMAKE_CXX_STANDARD 17)
   set(CMAKE_CXX_STANDARD_REQUIRED True)
   ```

**소스 파일 및 타겟 설정**

1. **소스 파일 지정**\
   프로젝트의 소스 파일을 지정한다. 예를 들어, `src/main.cpp`와 같은 파일을 포함할 수 있다:

   ```cmake
   add_executable(ProjectName src/main.cpp)
   ```
2. **헤더 파일 포함 디렉토리 설정**\
   헤더 파일을 포함할 디렉토리를 지정한다:

   ```cmake
   target_include_directories(ProjectName PUBLIC "${PROJECT_BINARY_DIR}")
   ```
3. **라이브러리 링크**\
   필요한 외부 라이브러리를 링크한다. 예를 들어, `math` 라이브러리를 사용하는 경우:

   ```cmake
   target_link_libraries(ProjectName PUBLIC m)
   ```

**빌드 구성**

1. **빌드 디렉토리 생성**\
   프로젝트 디렉토리 안에 별도의 빌드 디렉토리를 생성한다:

   ```bash
   mkdir build
   cd build
   ```
2. **CMake 명령 실행**\
   빌드 디렉토리에서 `cmake ..` 명령을 실행하여 CMake 설정을 적용한다. 이 명령은 프로젝트의 빌드 시스템을 생성한다.
3. **빌드 실행**\
   설정이 완료되면, `make` 명령을 사용하여 프로젝트를 빌드한다:

   ```bash
   make
   ```
4. **실행 파일 확인**\
   빌드가 완료되면, 빌드 디렉토리에 생성된 실행 파일을 확인할 수 있다.

***

관련 자료:

* [CMake 공식 웹사이트](https://cmake.org)
* [CMake Documentation](https://cmake.org/documentation/)
* [Installing CMake](https://cmake.org/install/)
