[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