# CMake로 간단한 C/C++ 프로젝트 설정하기

CMake를 사용하여 간단한 C/C++ 프로젝트를 설정하는 과정은 비교적 직관적이며, 몇 가지 기본적인 설정만으로도 효율적인 빌드 시스템을 구축할 수 있다. 여기서는 간단한 C/C++ 프로젝트를 설정하는 방법을 단계별로 설명한다.

#### 프로젝트 구조 정의

먼저, 프로젝트의 기본 디렉토리 구조를 정의한다. 예를 들어, 다음과 같은 구조를 가질 수 있다:

```
MyProject/
├── CMakeLists.txt
├── src/
│   ├── main.cpp
│   └── mylib.cpp
└── include/
    └── mylib.h
```

* `CMakeLists.txt`: CMake 설정 파일
* `src/`: 소스 파일이 위치하는 디렉토리
* `include/`: 헤더 파일이 위치하는 디렉토리

#### CMakeLists.txt 파일 작성

다음으로, 프로젝트의 `CMakeLists.txt` 파일을 작성한다. 이 파일은 프로젝트의 이름, 빌드 옵션, 소스 파일, 그리고 타겟 등을 정의하는 곳이다.

아래는 기본적인 CMakeLists.txt 파일의 예제이다:

```cmake
cmake_minimum_required(VERSION 3.10)

project(MyProject LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)

include_directories(include)

add_executable(MyProject src/main.cpp src/mylib.cpp)

```

이 파일에서:

* `cmake_minimum_required`: CMake의 최소 버전을 지정한다.
* `project`: 프로젝트의 이름과 사용할 프로그래밍 언어를 정의한다.
* `set(CMAKE_CXX_STANDARD 11)`: C++11 표준을 사용하도록 설정한다.
* `include_directories`: 헤더 파일이 위치한 디렉토리를 지정한다.
* `add_executable`: 프로젝트의 실행 파일을 정의하고, 필요한 소스 파일을 추가한다.

#### 빌드 및 실행

프로젝트 디렉토리에서 터미널을 열고 다음 명령어를 입력하여 빌드 파일을 생성한다:

```bash
cmake -B build
```

`build` 디렉토리 내에 필요한 빌드 파일이 생성된다. 이후 다음 명령어를 통해 프로젝트를 빌드할 수 있다:

```bash
cmake --build build
```

빌드가 완료되면 `build` 디렉토리 내에 실행 파일이 생성된다. 이를 실행하려면 다음 명령어를 사용한다:

```bash
./build/MyProject
```

이제 CMake를 사용하여 간단한 C/C++ 프로젝트를 성공적으로 설정하고 빌드할 수 있다. 필요한 경우 `CMakeLists.txt` 파일에 추가 설정을 더하여 프로젝트의 복잡도를 점진적으로 높일 수 있다.
