[llvm-dev] RFC: Updating to CMake 3.15.0

Petr Hosek via llvm-dev llvm-dev at lists.llvm.org
Wed Oct 30 10:38:14 PDT 2019


Some concrete examples we talked about:

CMake 3.14 introduced CMAKE_TRY_COMPILE_TARGET_TYPE which allows using
static libraries rather than executables when performing compiler checks
which is important when building runtimes (you cannot link an executable
when you don't have a fully functional toolchain). This allows eliminating
modules like
https://github.com/llvm/llvm-project/blob/master/compiler-rt/cmake/Modules/BuiltinTests.cmake

CMake 3.12 introduced more powerful generator expressions that are
evaluated only at generation time which means they aren't dependent on the
order in which individual CMake files were executed. This allows cleaning
some of the hacks we currently rely on in places like libc++, see for
example https://reviews.llvm.org/D68880

We can work around many of these issues, but these workarounds are
expensive to maintain and error prone (especially with growing number of
configurations).

On Wed, Oct 30, 2019 at 10:18 AM Andrew Kelley via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> On 10/29/19 9:14 PM, Mehdi AMINI via llvm-dev wrote:
> > On Tue, Oct 29, 2019 at 3:29 PM James Y Knight via llvm-dev
> > <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
> >
> >     CMake is extremely easy for developers to download and build locally
> >     -- or just download binaries for if you like, too.
> >
> > Is there any script we can/would provide to help with this? Or is it so
> > simple that two lines in the "getting started" instructions would be
> enough?
>
> Such a script or instructions would be a more complicated build process
> than before. A more complicated build process is anti-progress.
>
> What specific benefits of bleeding edge CMake is so important, that this
> anti-progress is worth it?
>
> Andrew
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20191030/d05ed640/attachment.html>


More information about the llvm-dev mailing list