Cmake는 Makefile을 만들어주는 툴입니다.
Cmake를 설명하기 전에 Makefile이 무엇이냐면 빌드를 편리하게 해주는 일종의 빌드 스크립트라고 보시면 됩니다. 이 스크립트를 make명령을 사용해서 실행시키기는 겁니다.
그냥 shell파일을 이용해서 빌드를 할 수 있겠지만 Makefile을 사용하는 이유는 Incremental build의 방식을 사용하기 때문입니다.
Incremental build란?
프로젝트의 규모가 커질수록 수많은 소스 파일들이 생겨날테고, 빌드하는 시간도 오래걸리게 됩니다. 우리가 대학교에서 프로젝트하는 수준은 그냥 강아지 애교 수준이고 정말 회사에서 일하게 될 경우에는 빌드하는 것도 시간이 꽤 걸립니다.
그래서 우선 처음에는 모두 빌드를 해놓고, 그 이후 수정된 파일에 대해서는 그 소스파일과 연관된 것들만 빌드하여 시간을 줄여주는 빌드 방식이라고 생각하시면 됩니다.
이러한 편리성이 존재하지만 Make는 의존성에 관한 기술을 일일이 기재해야 되기 때문에 관리측면에서 번거롭습니다.
Cmake는 이런 귀찮은 점을 해결해주는 툴로서 Makefile 생성해내는 역할을 합니다.