Skip to content

CMake 3.29.2 Update, main branch (2024.06.10.)

After some debugging, with trying to introduce LOG_PATCH to the ExternalProject_Add commands, just to see how the patch commands are being called exactly, I had to realize that the formalism we were using for calling patch, is not working anymore with CMake.

To explain myself a little: Unfortunately the cmake command doesn't provide a platform-independent way for applying a patch file on a source tree. 😦 So this is one of the few places in our code where we rely on a POSIX command directly in our build: patch. When one looks at the output of man patch, the formalism it advertises for applying patch files is using the < redirect operator. To pipe a file into the STDIN of the application with that. For whatever reason it is very shy about advertising its -i command line option. 😕 So I didn't actually know about the latter until today. 😦

The way that CMake 3.28- was forwarding these patching commands to the shell has always been quite fragile. So this update will hopefully only make our builds more robust. 🤔 Also, it should fix ATLINFR-5342 finally...

Merge request reports