Version 4.3 of the CMake software development tool / build system was released today. Notable with CMake 4.3 is support for importing and exporting packages described using the Common Package Specification (CPS) for greater interoperability in the ecosystem.
The Common Package Specification is a newer means of describing software packages in a JSON-based format that can be easily consumed by other software projects. This JSON-based spec aims to make it easier to handle software dependency descriptions for C/C++ and other uses while offering better interoperability across build systems and package managers.
The Common Package Specification is documented on GitHub. There is a sample CPS file for those wondering what it looks like in practice. CPS is worked on by Kitware, the company behind CMake. Beyond import/export support, CMake’s find_package() can now search for CPS packages, the install() command also gained support for dealing with CPS package descriptions, etc.
There was experimental support in prior CMake 4.x versions while now the package import/export support using CPS has been solidified with today’s CMake 4.3 release. It will be interesting though to see the CPS adoption moving forward across the software ecosystem.
CMake 4.3 also introduces the cmake-instrumentation command to enable collection of timing data, target information, and system diagnostic information to help in profiling CMake in Google Trace Event Format files.
Also new to CMake 4.3 is supporting HIP language code that can be compiled for SPIR-V targets such as via the chipStar project.
More details on the many CMake 4.3 changes can be found via the release notes. CMake 4.3 can be downloaded from CMake.org.
