본문 바로가기

차장님의 이야기

Console Graphics Library #3 CMAKE로 빌드 시스템 구축

macOS, Windows 10으로 개발을 하다 맥에서는 XCode, 윈도우에서는 Visual Studio 2019로 개발을 하고 있다.

 

하지만 XCode와 Visual Studio 로 개발 하다 보니 Header File 추가 하게 될 때 XCode에서, VS에서도 마찬가지로 

 

추가를 해줘야 하다 보니 문제점이 발생 하였다. 그래서 본 문제를 해결 하기 위하여

 

VS Code를 선택 하였고, 빌드는 각 OS별 별도로 해주어야 하므로 CMake로 하기로 하였다.

 

CMAKE를 공부하고 실제로 적용하는데 약 2일이 걸렸다.

 

해당 이미지가 Visual Studio Code이다. 추후에 VS Code에 대해서 환경설정을 어떻게 했는지 보겠다.

 

 

 

 

 

오늘은 CMAKE에 대해서 한다고 했으니 Cmake에 대해서 공부한것을 서술 한다.

 

 

 

 

 

본 프로젝트를 개발 할 때 CMAKE 참조를 하였던 곳이다.

https://github.com/ArthurSonzogni/CppBot.git

 

ArthurSonzogni/CppBot

Portable C++ tools for bot creations : keyboard and mouse event generations, screen capture ! - ArthurSonzogni/CppBot

github.com

LINUX, WINDOWS에서 키보드, 마우스 입력을 처리하는 라이브러리를 만든 곳이다.

LINUX는 X11 라이브러리를, Windows는 winAPI를 사용 했다.

 

저 사람이 만든 GIT과 파일 디렉터리를 참고 하여 새롭게 파일 구조를 변경 하였다.

 

변경후

 

변경 전

 

변경 전에는 Project별로 분할 해서 개발을 하였지만 Cmake 또는 다른 사람의 개발 한 것을 보아 Lib 파일, Include 파일을 분리를 하였다.

 

분리를 하면서 GCC의 빌드의 이해도와 왜 Cpp 파일은 header를 include하고, header에서는 정의만 내리는지 이해를 하게 되었다.

 

이 부분 또한 나중에 기록 할 것이다.

 

본 프로젝트를 분할 하면서 CMAKE 파일 구성을 위의 사진 처럼 만들게 되었다.

 

지금 보면서 느낀것 이지만 GCC 버전 또는 C++14버전으로 지정을, 컴파일러 버전을 지정해야겠다는 생각이 든다.

 

아직 각각 명령어가 무엇인지는 얼핏 알지만은 정확하게 다 무엇인지는 잘 모르겠다.