[llvm-dev] RFC: Updating to CMake 3.15.0

Stephen Kelly via llvm-dev llvm-dev at lists.llvm.org
Sat Nov 9 14:54:47 PST 2019

On 08/11/2019 18:43, Chris Bieneman via llvm-dev wrote:
>> On Nov 8, 2019, at 7:53 AM, David Greene via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>> Are we sure that's true for the CMake config files installed with LLVM?
> There are only two files that are required for the `findPackage` function. One is generated by CMake and sticks pretty tightly to old CMake language features. The other is `LLVM-Config.cmake` which we own. That file changes relatively infrequently, and it can go away if we kill off LLVMBuild. It also largely uses very old and stable CMake features and there is little reason to change that.

Just for clarity, because it was asked for:

The config files generated by cmake won't use very recent cmake 
commands, so in that sense, the cmake version requirement does not 
propagate from LLVM to downstreams.

However, any generator expressions used in INTERFACE target properties 
will also make their way into the config files, unless they are wrapped 
in the BUILD_INTERFACE genex to prevent that.

Unknown generator expressions (ie those from cmake versions newer than 
they are using) WILL cause errors for downstreams unless they either 
upgrade or do some hackery.

It is possible to use BUILD_INTERFACE, but it is also possible that the 
cmake version requirement will be accidentally increased, unless a unit 
test is run with a base-version of cmake to prevent that.



More information about the llvm-dev mailing list