Improving support for CMake-based applications

Brad King brad.king at kitware.com
Mon Jan 27 08:06:15 PST 2014


On 01/26/2014 07:53 PM, Daniel Liew wrote:
> This looks interesting, I much prefer CMake to autotools. Do you plan
> on modifying the example in ``projects/sample`` or providing a new
> example project to demonstrate using the functionality these patches
> add?

AFAICT the projects/sample is a sample for adding a project that
integrates into the llvm build itself.  This patch series is to
help applications that build externally against an already-built
LLVM tree or an LLVM installation.

The relevant documentation is in "docs/CMake.rst", but the series
as-is does not actually change anything there yet.  It just makes
what is already documented work better than it does now.  In
particular, this series makes the documented behavior:

* Work when LLVM is built and installed with autotools instead
  of CMake.

* Also provide CMake with enough information to propagate library
  link dependencies and to add file-level build dependencies so
  that applications re-link when the LLVM libraries are updated.

The latter improvement also lays the groundwork for a follow-up
series to simplify the handling of link dependencies among LLVM
libraries and their dependence on system libraries.  It should not
have to be done manually by llvm_map_components_to_libraries and
link_system_libs.  CMake has enough features to propagate those
dependencies automatically to applications.

-Brad




More information about the llvm-commits mailing list