반응형

개발 106

g

[개발 환경] CMake 프로젝트에 Googletest 추가하기

Googletest를 사용하기 위해 여러 가지 방법이 있을 수 있다. 나는 VS Code로 셋업 한 CMake 프로젝트에 CMake 명령어를 통해 Googletest를 추가하는 것을 해보겠다. CMake 프로젝트에 Googletest 추가하기 Googletest를 CMake 프로젝트로 가져오기 테스트 작성 후 빌드하기 실행하기 Googletest를 CMake 프로젝트로 가져오기 Googletest를 CMake 프로젝트에서 빌드되게 만드는 것은 크게 2가지가 있을 수 있다. 첫 번째는 적당한 최신 버전을 다운로드해서 프로젝트 디렉터리에 포함한 뒤 함께 CMake로 빌드하고 추가하는 방법이 있다. 두 번째는 Fetch Content 기능을 통해 Goggletest의 repository로부터 당겨와서 빌드하는..

g

[개발 환경] 구글 테스트(googletest) 개념 및 예제

Goggletest의 개념에 대해서 알아보고 Goggle에서 제공하는 예제를 통해 Googletest의 활용법을 익혀보도록 한다. Googletest의 개념과 예제 Googletest란 Googletest 예제 Googletest란 https://github.com/google/googletest GitHub - google/googletest: GoogleTest - Google Testing and Mocking Framework GoogleTest - Google Testing and Mocking Framework. Contribute to google/googletest development by creating an account on GitHub. github.com 구글 테스트는 C/C++..

g

[Git] GitHub fork와 upstream을 활용한 안전한 Pull Request

GitHub fork와 원본 upstream을 활용하여 안전하게 sync 하고 pull request를 요청하는 방법에 대해서 알아보도록 하겠다. 오늘의 실습은 오픈소스 CMake를 fork하고 안전하게 반영하고 pull request를 요청하는 식으로 해보겠다. 물론 테스트로 하는 것이고 실제로 무언가 반영하는 것은 아니다. https://github.com/Kitware/CMake GitHub - Kitware/CMake: Mirror of CMake upstream repository Mirror of CMake upstream repository. Contribute to Kitware/CMake development by creating an account on GitHub. github.com..

개발/Git 2023.02.04

g

[Git] Rebase와 Merge의 차이 by Visualizing-git

Rebase와 Merge의 차이 by Visualizing-git Git에서 헷갈리는 개념 중 하나가 바로 Rebase와 Merge이다. 처음 Git을 접할 때 commit, push 정도는 쉽지만 branch들이 합쳐지는 과정에서 그래프도 복잡해지고 내 머리도 복잡해진다. branch를 어떻게 합치느냐에 따라 2가지 방식인 Rebase와 Merge가 존재하는데, 이 개념을 확실히 한다면 더 이상 Git이 복잡하게 느껴지지 않을 것이다. 나는 Visualizing git이라는 사이트를 활용해서 이 개념을 빠르게 이해할 수 있어서 Rebase와 Merge에 대해서 소개하면서 실습을 이 사이트로 진행해 볼 예정이다. https://git-school.github.io/visualizing-git/ Visua..

개발/Git 2023.02.02

g

[개발 환경] CMake 프로젝트 구성하기 - 다양한 변수들

CMake 프로젝트 구성하기 - 다양한 변수들 CMake는 다양한 변수들을 제공한다. 프로젝트를 구성할 때 해당 변수들을 잘 활용해서 명령어와 스크립트를 구성하면 효율적이고 유지보수에 좋은 프로젝트를 구성할 수 있다.수많은 명령어 중에서 자주 사용될 만한 것을 선정해 보았고 실제로 출력해 보면서 어떤 용도로 사용할지 생각해 보았다. 여러 카테고리로 나누어져 있고, 그 카테고리에 맞게 분류해서 정리해 본다. https://cmake.org/cmake/help/latest/manual/cmake-variables.7.html cmake-variables(7) — CMake 3.25.2 Documentation This page documents variables that are provided by CMak..

g

[개발 환경] 파이썬(Python) IDE PyCharm 소개 및 설치 방법

파이썬(Python) IDE PyCharm 소개 및 설치 방법 jetbrains에서 만든 파이썬(Python)용 통합 개발 환경 IDE PyCharm을 소개한다. 이전 포스팅에서 VS Code를 활용해서 Python 개발 환경을 세팅했었다. Python 특성상 특별히 많은 세팅이 필요하지 않아서 VS Code를 사용해도 익숙하고 부가적인 플러그인도 많이 제공이 되어서 개인적으로 일반적인 개발자나 가벼운 용도를 위해서는 VS Code를 더 추천하는 편이다. 하지만 전용 IDE를 사용했을 때 그 편리함은 무시할 수 없다. Python을 위한 PyCharm에 한번 빠지면 그 편리함과 생산성에 더욱 빠져들게 될 것이다. 그래서 오늘은 PyCharm에 대해서 알아보고 설치 방법까지 알아본다. PyCharm 이란?..

개발/Python 2023.01.31

g

[개발 환경] CMake 프로젝트 구성하기 - 프로젝트 관련 명령어들

CMake 프로젝트 구성하기 - 프로젝트 관련 명령어들 이 전 포스팅에서 스크립트 관련 명령어들을 알아보았다. 이번에는 프로젝트를 구성할 때 필요한 명령어들을 알아보겠다. 스크립트 명령어가 기본적이고 베이스가 되는 명령어라면, 프로젝트 명령어를 통해서 실제 라이브러리나 프로그램을 만든다고 할 수 있겠다. 또 의존성이나 캡슐화를 프로젝트 구조적인 측면에서부터 할 수 있는 장점이있다. Project Commands add_compile_definitions 소스를 컴파일할 때 preprocessor 에 추가되는 define을 추가하는 명령어이다. 이렇게 추가를 하면 COMPILE_DEFINITIONS 라는 변수에 추가가 되고 이를 get_property를 통해 읽을 수 있다. add_compile_defin..

g

[개발 환경] CMake 프로젝트 구성하기 - 스크립트 관련 명령어들

CMake 프로젝트 구성하기 - 스크립트 관련 명령어들 CMake에는 수많은 명령어(함수)들이 존재한다. 이 전 포스팅에서 프로젝트를 구성하기 위한 간단한 필수적이고 자주 사용되는 명령어들을 알아보았는데 이번에는 추가적인 명령어들이 어떤 게 있는지 공부해 보고 좀 더 풍성하게 CMake를 활용해 보는 게 목적이다. 첫 번째로 스크립트 관련 명령어들을 알아본다. Scripting Commands cmake_path cmake_path는 3.20에 새로 추가되었다. 대표적으로 GET, SET, APPEND 와 같은 옵션을 활용해서 path를 설정할 수 있다. 아래 여러가지 예제를 실험해 보았다. set(path2 "home/growing-dev/a.cpp") cmake_path(GET path2 FILENA..

g

[개발 환경] CMake 최신 버전 설치하기

CMake 최신 버전 설치하기 CMake를 WSL에서 사용하면, Ubuntu 20.04에서 3.16 버전을, 18.04에서는 3.10을 기본적으로 설치할 수 있다. 하지만 최신 버전에서만 지원하는 명령어들을 실행할 수 없다. 따라서 최신 버전을 설치하고, CMakeList.txt의 cmake_minimum_required(VERSION 3.xx) 를 맞춰주는 게 좋다. 그래서 CMake 최신 버전을 설치하기 위한 방법을 소개한다. 다운로드 방법은 크게 2가지이다. 공식 사이트에서 다운로드 하기 wget으로 github에서 다운로드하기 이후 압축 해제 후 빌드 및 설치는 동일하다. 공식 사이트에서 다운로드하기 https://cmake.org/download/ Download | CMake Current d..

g

[개발 환경] CMake 프로젝트 구성 및 명령어들 (feat. VS Code)

CMake 프로젝트 구성 및 명령어들 (feat. VS Code) 만들어 볼 프로젝트 트리 CMakeList.txt 분석(각 명령어에 대한 이해) 소스 코드 분석 빌드 및 실행 만들어 볼 프로젝트 트리 위와 같이 CMakeLists.txt와 build, inc, src로 구성된 프로젝트를 간단히 만들어 보도록 한다. build : CMake 설정들과 실제 빌드 아웃풋이 나오는 디렉토리이다. inc : include header가 포함될 디렉터리이다. src : 실제 소스가 포함될 디렉터리이다. CMakeList.txt 분석(각 명령어에 대한 이해) CMake에서 지원하는 명령어(함수)에 대해서 알아보도록 한다. 함수라고 부를지 명령어라고 부를지 애매하긴 한데 그냥 명령어라고 하겠다. 아래는 내가 사용한 ..

반응형