Fundamentals 3 min read

CMake 3.19.2 Release: Apple Silicon Support and Various Improvements

CMake 3.19.2 introduces Apple ARM support, new variables for host processor selection, enhanced error handling, updated FindHDF5, Java test controls, CI job updates, and numerous bug fixes across compilers, PCH, and platform detection, making the cross‑platform build system more robust and flexible.

Laravel Tech Community
Laravel Tech Community
Laravel Tech Community
CMake 3.19.2 Release: Apple Silicon Support and Various Improvements

CMake 3.19.2 has been released. CMake is a cross‑platform automated build system that uses a CMakeLists.txt file to describe the build process and can generate standard build files such as Unix Makefiles or Windows Visual C++ projects/workspaces. The CMakeLists.txt file must be written manually, but can also be generated semi‑automatically via scripts.

Starting with CMake 3.19.2, Apple ARM is supported:

Use uname -m to select CMAKE_HOST_SYSTEM_PROCESSOR . Because this may differ depending on CMake's own architecture and the architecture of the calling process tree, you can set the CMAKE_APPLE_SILICON_PROCESSOR variable or the CMAKE_APPLE_SILICON_PROCESSOR environment variable to explicitly specify the host architecture.

If CMAKE_OSX_ARCHITECTURES is not set, CMake will add explicit flags to inform the compiler to build for CMAKE_HOST_SYSTEM_PROCESSOR , so the toolchain does not need to guess based on the process‑tree architecture.

Some of the changes include:

Compiler/TI: Fixed C‑only project C standard flags.

execute_process: Improved COMMAND_ERROR_IS_FATAL error‑capture scheme.

FindHDF5: Added support for variable names based on hdf5hl_fortran .

Tests: Added CMake_TEST_Java option to control Java tests.

gitlab-ci: Updated macOS jobs to use Xcode 12.2.

Check*: Allowed variables set with language names.

PCH: Fixed iOS multi‑system compiler errors using Ninja Multi‑Config.

Cray: Fixed detection of Cray compilers on new platforms.

Cross-PlatformautomationcmakeBuild SystemApple SiliconVersion 3.19.2
Laravel Tech Community
Written by

Laravel Tech Community

Specializing in Laravel development, we continuously publish fresh content and grow alongside the elegant, stable Laravel framework.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.