Visual Studio Code에서 CMake 환경 설정하기

8411 단어 howtovscodeCcmakecppC

VSCode에서 CMake 기반의 프로젝트를 만들고, 실행/디버깅 등이 가능한 환경을 구축하는 방법에 대해 알아봅니다.

📝 노트
여기서는 VSCode 설치 후, C++ 언어를 사용하기 위한 환경 구축까지 완료한 상태라고 가정합니다. C++ 언어 사용을 위한 환경 구축은 이 글(gcc/MinGW 연동)이나 이 글(MSVC 연동)을 참고하세요.


CMake 설치

VSCode는 CMake를 자체적으로 내장하고있지 않습니다. 때문에 CMake를 직접 설치하고 이를 연동해주는 작업이 필요합니다.

주의사항
Extension을 설치한다고 해서 CMake가 설치되는 것은 아닙니다.

Windows를 이용하는 경우

Chocolatey를 이용하면 쉽게 설치할 수 있습니다. 다만, chocolatey로 CMake를 설치하는 경우 PATH 환경변수가 자동으로 잡히지 않아, 추가적인 명령어를 입력해주어야 합니다. 다음 명령어를 입력하세요.

📝 노트
Chocolatey는 Windows용 패키지 관리자입니다. 아직 사용 방법을 모르신다면, 이 글을 참고하세요.

choco install cmake -y --installargs 'ADD_CMAKE_TO_PATH=System'

다음 명령어를 통해 설치가 잘 되었는지 확인해보세요.

cmake --version

📝 노트
Chocolatey 특성 상, 설치한 직후에는 cmake 명령어를 인식하지 못할 수 있습니다.
PowerShell을 껐다 켜거나, refreshenv 명령어를 활용하세요.

Linux를 이용하는 경우

apt(apt-get)yum을 이용하면 쉽게 설치할 수 있습니다.

예를 들어 apt를 이용하여 설치한다면 다음 명령어를 입력합니다.

sudo apt install cmake -y

다음 명령어를 통해 설치가 잘 되었는지 확인해보세요.

cmake --version


Extension 설치

이제 VSCode에서 extension을 설치할 차례입니다.

VSCode를 켜고 extension 탭으로 간 뒤 “cmake“를 검색하세요. 맨 위부터 CMakeCMake Tools가 뜰 것입니다. 두 가지 모두 Install 버튼을 눌러 설치합니다.

각각의 용도는 이렇습니다.

  • CMake extension: CMake 명령어에 대한 자동완성 제공. CMakeLists.txt 파일 작성에 도움.
  • CMake Tools extension: CMake 기반 프로젝트를 관리하는데에 도움.

테스트

이제 제대로 설치가 되었는지 확인할 시간입니다.

주의사항
경로에 한글이 있으면 제대로 동작하지 않습니다.

Hello world 프로젝트 만들어보기

CMake Tools는 CMake: Quick Start라는 기능을 제공합니다. 손쉽게 CMake 기반의 Hello world 프로젝트를 만들어주는 것이죠.

적당한 경로에 빈 폴더를 만들어주고 다음과 같이 진행합니다.






실행

다음 그림과 같이 실행하시면 됩니다. 동일 폴더 내에 .vscode라는 폴더가 생기고 그 안에 CMake 설정 등에 관한 .json 파일이 자동으로 생성될 것입니다. 또한, build라는 폴더가 생기고 그 안에 CMake를 통한 빌드 부산물 및 컴파일 결과물이 자동으로 생성될 것입니다.

이후 아래쪽의 TERMINAL 탭을 확인하시면, 자동 생성된 main.cpp의 내용대로 Hello, world!가 출력되는 것을 확인할 수 있습니다.


디버깅

다음 그림과 같이 진행하여 디버깅도 가능합니다.

주의사항
맨 처음 그림에서 보이는 바와 같이, CMake type을 Debug로 설정해야 함에 주의하세요!





Command line argument 설정

실행하거나 디버깅할 때, command line argument를 넘겨주도록 설정하고 싶을 때가 있습니다.

이는 .vscode/settings.json 파일을 생성해주고, 해당 파일에서 cmake.debugConfig인자로서 입력해줘야 합니다.

테스트 코드 수정

그 전에 먼저 argument가 제대로 동작하는지 확인하기 위해 main.cpp 코드를 수정하겠습니다.

#include <iostream>

int main(int argc, char**) {
    std::cout << "Hello, world!\n";
    std::cout << "argc: " << argc << std::endl;
}

이 상태로 그냥 실행해보면 다음과 같이 나타날 것입니다.

settings.json 설정 및 실행

이제 settings.json 파일을 만들어 보겠습니다. (이미 만들어져 있을 수도 있습니다만, 그대로 진행하시면 됩니다)

  1. 다음 그림과 같이 File - Preferences - Settings를 클릭합니다. 단축키는 [CTRL]+[,] 입니다.

  2. 여기서 Workspace 탭을 클릭합니다. 이 프로젝트(workspace)에만 적용되는 설정항목이라는 뜻입니다.

  3. 상단 검색창에 cmake.debugConfig를 검색한 뒤, Edit in settings.json 부분을 클릭합니다. cmake.debug 정도만 입력하셔도 바로 뜰 것입니다.

  4. 클릭하시면 바로 다음과 같이 .vscode/settings.json 폴더 및 파일이 생성되고, settings.json 파일이 열리며, 그 안에 다음 그림과 같은 내용이 자동으로 작성되어 있을 것입니다. (추가로 다른 내용이 더 쓰여있을 수도 있습니다.)

  5. 이제 이 안에 args 항목을 만들어 command line argument를 설정합니다. 실행파일명 뒤에 이어질 추가적인 argument들만 적어주면 되며, 각 항목은 ""(double-quote)로 묶어주고 ,(comma)로 분리해주면 됩니다.

  6. 이제 저장한 뒤, 실행이나 디버깅을 해보면 다음과 같이 command line argument가 잘 반영된 것을 확인할 수 있습니다.


Reference

https://chocolatey.org/packages/cmake

https://vector-of-bool.github.io/docs/vscode-cmake-tools/

https://code.visualstudio.com/docs/getstarted/settings

좋은 웹페이지 즐겨찾기