목표
- Cross-platform 개발환경 구축
- CMake dependency 관리
VSCode
- 마이크로소프트가 만든 다기능 텍스트 에디터
- 가볍다 / 크로스 플랫폼 / 수많은 익스텐션
- Windows
- 콘솔창에서 code 명령어로 vscode 열기 기능 체크 확인
- macOS, Linux
- 설치 및 실행 후 ctrl-shift-P를 눌러서 커멘드 팔렛 열기
- shell로 검색하여 동일한 기능 활성화 가능
- 마이크로소프트가 만든 개발 환경
- C++ 컴파일러 및 링커 등이 많이 포함
CMake

프로젝트 시작하기
- 새 프로젝트를 위한 디렉토리를 생성한 뒤 VSCode 실행

VSCode Extension 설치
CMake 프로젝트 시작하기
- src/main.cpp 파일 작성

#include <iostream>
int main(int argc, const char* argv[]) {
std::cout << "hello, world" << std::endl;
return 0;
}
- CMakeLists.txt 파일 작성


cmake_minimum_required(VERSION 3.13)
set(PROJECT_NAME cmake_project_example)
set(CMAKE_CXX_STANDARD 17)
- set : 변수 설정
- CMAKE 로 시작하는 변수들은 Global 변수
- CXX : C++
project(${PROJECT_NAME})
add_executable(${PROJECT_NAME} src/main.cpp)
- project : 이 아래 줄 부터 project 세팅을 하겠다
- add_executable : 실행 파일을 만들겠다
빌드 방법
Visual Studio 프로젝트 생성
- Terminal Powershell 창에서 "cmake -Bbuild . -DCMAKE_BULID_TYPE=Debug" 명령어 입력



- Visual Studio 프로젝트 생성해서 빌드를 할 수도 있다
내부 빌드 방법
- Terminal Powershell 창에서 "cmake --build build" 명령어 입력


- CMake를 통해 디버그 할 수 있는 exe 파일 생성

CMake의 작동 방식
- Meta-project description
- 각 플랫폼 / 선호하는 빌드 방식에 맞는 프로젝트 파일을 생성
- Windows의 경우 visual studio project
- Linux의 경우 Makefile
- macOS의 경우 XCode / Makefile
- Android의 경우 Ninja build
- 기타 등등...
CMake 커맨드
cmake --Bbuild . -DCMAKE_BUILD_TYPE=[Debug||Release]
cmake --build build --config Debug
VSCode + CMake 커맨드
- 익스텐션 기능을 통해 CMake 커맨드를 실행시켜줄 수 있음
- 여러 가지 방식을 지원
- 커맨드 팔렛에서 cmake로 검색하여 원하는 기능 실행
- 화면 최하단 상태 바의 메뉴로 원하는 기능 실행
- 화면 좌측에 추가로 생긴 cmake 탭에서 원하는 기능 실행



- Ctrl + Shift + P 를 눌러 CMake: Configure - Window 버전에 맞게 선택
- Ctrl + Shift + P 를 눌러 CMake: Build를 통해 빌드 하거나 탭이 나온 후에는 탭을 눌러 메뉴에서 시작 가능


VSCode + CMake 프로젝트 설정
- 빌드 : F7
- 디버그 실행 : ctrl + F5
- Debug Console 화면에 hello, world 출력 확인
