2020년 11월 8일 일요일

CMake 날먹 메모

CMake 를 아직 제대로 모르고 CMakeList.txt 를 짤 줄 모르는 상태에서

야매로 CMake 로 풀린 Git Project 를 빌드하는 방법을 메모한다.



1. CMake 다운 및 실행

https://cmake.org/download/

CMake 위에서 다운받자.


그리고 설치중에 꼭 저 옵션을 클릭하자. 

아니면 나중에 수작업으로 추가해야한다.


설치가 끝나면 설치한 경로에 가서 bin 폴더를 열어보자.

 거기에 cmake gui 가 있다.


Browse Source 에 CMakeList.txt 가 있는 폴더를 설정하고,

Browse Build 에 빌드를 끝낸 파일을 저장할 폴더를 설정한다.

그리고 아래의 Generate 를 누르면 외부 라이브러리의 의존이 없는 파일은 빌드할 수 있다.



2. 옵션

위 방법으로 해결되지 않는 경우는 여러 옵션을 지정해야한다.

그 경우는 readme 에서 보통 옵션을 가르쳐주는데, 이땐 우린 gui 를 쓸 수 없다.

이땐 CMD 를 이용해서 cmake 를 실행한다.

위에서 환경변수를 설정하지 않으면 여기서 에로사항이 발생할 것이다.


cmake -G "Visual Studio 16 2019" ^

    -D CMAKE_INSTALL_PREFIX=C:/Users/mypcid/Desktop/glfw^

    -D INSTALL_LIBS=ON ^

    -D USE_MSVC_RUNTIME_LIBRARY_DLL=On ^

    -D BUILD_CPU_DEMOS=Off ^

    -D BUILD_OPENGL3_DEMOS=Off ^

    -D BUILD_BULLET2_DEMOS=Off ^

    -D BUILD_UNIT_TESTS=Off ^

    ..


위 코드는 의존성 정보들을 모아서 visual studio 에서 실행할 수 있도록 만들어준다.

위와 같은 옵션은 대체로 위처럼 직접 알려줄 것이다.


이때 CMAKE_INSTALL_PREFIX 는 INSTALL 명령에서만 적용이 되는 경로이다.

INSTALL 명령이 뭐냐면


cmake --build . --config Debug --target ALL_BUILD

cmake --build . --config Debug --target INSTALL

cmake --build . --config Release --target ALL_BUILD

cmake --build . --config Release --target INSTALL


위의 INSTALL 을 말한다.

INSTALL 시에는 include, lib 폴더가 생성이 된다.

이런 파일이 생성된 경로는 외부 참조 경로로 사용된다.


cmake -G "Visual Studio 16 2019" ^

    -D SABA_GLFW_ROOT=C:\Users\mypcid/Desktop/glfw^

  ..


위처럼 참조를 할 수 있다. 



List