CMake, 25년간의 C++ 빌드 시스템 여정
발표자는 CMake의 25주년을 기념하며, CMake의 탄생 배경과 초기 버전의 특징을 설명함
KDE 프로젝트를 통해 CMake가 널리 사용되게 된 과정을 설명하고, 이후 발전된 기능들을 소개함
CMake 4 버전의 주요 특징인 CPS(Common Package Specification) 및 모듈 지원에 대해 설명함
향후 CMake의 발전 방향으로 SBoM(Software Bill of Materials) 지원 및 분산 빌드 시스템을 제시함
CMake의 탄생과 초기 버전
발표자는 1999년 ITK(Insight Segmentation and Registration Toolkit)를 위한 빌드 시스템으로 CMake가 시작되었음을 설명한다. 초기 CMake는 C++ 컴파일러(C++ Compiler)에 의존하며, 외부 종속성 없이 자체 언어를 사용했다. 발표자는 ITK, VTK(Visualization Toolkit) 등에서 CMake를 사용하며 빌드 과정의 복잡성을 해결하고자 했다고 강조한다.
KDE 프로젝트를 통한 CMake의 성장
발표자는 KDE 프로젝트가 CMake 채택의 중요한 계기가 되었음을 설명한다. KDE는 CMake를 빌드 시스템으로 사용하면서 다양한 플랫폼 지원 및 빌드 속도 향상을 이루었다. 특히, Ninja 빌드 시스템의 통합은 빌드 속도를 크게 향상시키는 데 기여했다. 발표자는 KDE의 성공적인 사례를 통해 CMake가 널리 사용되게 되었다고 강조한다.
CMake 4 버전의 주요 기능: CPS 및 모듈 지원
발표자는 CMake 4 버전의 주요 기능으로 CPS(Common Package Specification) 및 모듈 지원을 소개한다. CPS는 라이브러리의 정의를 표준화하여 패키지 관리자(Package Manager)와의 통합을 용이하게 한다. 모듈 지원은 C++20의 모듈을 지원하며, import std와 같은 기능을 사용할 수 있게 한다. 발표자는 이러한 기능들이 CMake의 유연성을 높인다고 설명한다.
CMake의 미래: SBoM 지원 및 분산 빌드
발표자는 CMake의 미래 발전 방향으로 SBoM(Software Bill of Materials) 지원 및 분산 빌드 시스템을 제시한다. SBoM 지원은 소프트웨어 구성 요소의 투명성을 높이고, SPDX(Software Package Data Exchange) 파일 생성을 지원한다. 분산 빌드 시스템은 대규모 프로젝트의 빌드 속도를 향상시킨다. 발표자는 이러한 기능들이 CMake를 더욱 강력하게 만들 것이라고 강조한다.