Ubuntu에서 cmake gui 사용하는 방법 (ccmake, cmake-curses-gui)

당신은 CMake-GUI가 쓰고싶어진다

cmake를 자주 쓰다보면 자주 쓰는 옵션들을 기억하게 된다. -DCMAKE_BUILD_TYPE 이라던지, -DCMAKE_INSTALL_PREFIX 라던지 등등…

하지만 새로 사용해보는 3rdParty를 사용할 때 마다 CMakeLists.txt 를 뜯어보면서 어떤 옵션이 있는지 공부를 해야한다. 옵션들마다 nested condition이 있기도 하기 때문이다.

근데 적당히 잘 만들어놓은 오픈소스 3rdParty 에서는 옵션 관리를 잘 해놔서, nested condition을 걱정하지 않고 적당히 옵션을 쓱 보면 사용하는 방법이 이해가 된다. 예를 들어 WITH_EIGEN, BUILD_JPEG 같은 옵션들이다.

이런 옵션들이 몇십개씩 있을 때, CMakeLists.txt를 보면서 파악하려면 시간과 노력이 많이 들어간다. Windows 환경에서는 cmake-gui를 쓰면 쉽게 볼 수 있다 (사실 Windows OS에서 튜토리얼들을 보면 왠만하면 다 이걸 쓴다). 그에 비해 Ubuntu 환경에서는 cmake-gui 튜토리얼 같은건 없다. 소프트웨어도 없는 것 같고, 왠만하면 다 커맨드라인에서 cmake를 사용하기 때문이다.

Ubuntu 환경에서 이런 옵션들을 한눈에 보는 방법이 없을까? 라는 질문으로 해결방법을 찾게 되었다.

 

해결 방법

sudo apt-get install cmake-curses-gui 를 통해 gui 패키지를 받는다.

이후, cmake configure를 할 때, cmake .....를 적지 말고, ccmake ....를 적는다.

그러면 터미널 위에서 GUI 스러운 화면이 뜨면서, EMPTY_CACHES라고 뜰 것이다. cmake configure가 되지 않아서 아무 캐쉬가 없기 때문에 이렇게 뜨는 것이다. 여기서 c를 눌러 configure를 해준다.

아래와 같이 익숙한 configure 화면이 나온다.

configure가 끝나고나면 GUI 스러운 화면이 나타나면서 이 CMakeLists.txt에서 제공하는 모든 빌드 옵션이 보이게 된다. Windows 환경에서 사용하는 cmake-gui와 거의 똑같은 기능을 제공한다. 내용을 업데이트하고 c를 눌러 새로 configure 해준 후, q로 나간 후 make -j 또는 ninja 해주면 평소와 같이 빌드를 할 수 있다.