최근 CMake의 주요 업데이트는 다양한 새로운 기능과 개선 사항을 포함하고 있다. 여기서는 최근 버전에서 추가된 주요 기능들을 설명하겠다.
언어 지원 및 컴파일러 관련 기능
CMake 3.30부터 cxx_std_26
와 cuda_std_26
와 같은 최신 언어 표준 지원이 구현되었다. 이를 통해 C++26과 CUDA 26 표준을 요구하는 컴파일러 모드를 사용할 수 있다. 또한 CMAKE_<LANG>_STANDARD_LATEST
변수가 추가되어, 선택한 컴파일러의 최신 언어 표준을 간편하게 설정할 수 있다.
새로운 명령어와 기능 확장
CMake 3.29에서는 add_custom_command(TARGET)
가 빌드 이벤트를 추가할 수 있도록 확장되었으며, cmake_language(EXIT)
와 같은 새로운 서브 명령어가 추가되었다. 이 외에도 파일 및 디렉토리 권한을 확인할 수 있는 새로운 테스트(IS_READABLE
, IS_WRITABLE
, IS_EXECUTABLE
)가 if()
명령에 추가되었다.
TLS 버전 관리
최근 CMake 업데이트에서는 file(DOWNLOAD)
및 file(UPLOAD)
명령어에 대해 최소 TLS 버전을 설정할 수 있는 옵션이 추가되었다. 이는 HTTPS URL과의 연결에서 보다 안전한 통신을 보장하기 위한 것이다. 이와 관련된 변수들인 CMAKE_TLS_VERSION
및 CMAKE_TLS_VERIFY
가 추가되어, 서버 인증서 검증과 TLS 버전 관리가 용이해졌다.
외부 패키지 및 모듈 관리
CMake 3.30에서는 다양한 모듈이 개선되었다. 예를 들어, FindCUDAToolkit
모듈이 개선되어 libnvfatbin
및 libnvfatbin_static
와 같은 타겟을 제공하게 되었으며, Python 관련 모듈도 강화되어 디버그 버전 Python을 더 잘 지원한다.
빌드 및 패키징 도구 개선
CTest와 CPack도 여러 면에서 개선되었다. 예를 들어, CPack Inno Setup Generator가 Windows 외의 플랫폼에서도 사용 가능해졌고, CPack WIX Generator는 WiX Toolset v4를 지원하게 되었다. CTest는 이제 POSIX 시스템에서 job server 통합을 지원하며, 테스트 실행에 대한 유연성을 높이기 위한 옵션들이 추가되었다.
이와 같은 기능 확장과 개선 사항들은 CMake를 사용하는 개발자들이 보다 효율적으로 프로젝트를 관리하고 빌드할 수 있도록 돕는다【7†source】【8†source】【9†source】【10†source】.