[LLVMdev] compiler-rt CMake build

Brad King brad.king at kitware.com
Fri Feb 21 07:31:07 PST 2014


On 02/21/2014 09:49 AM, Alexey Samsonov wrote:
> 1) Looks like "DEPENDS" option is just broken
> I use cmake 2.8.10.2.

Dependencies on normal targets were accidentally broken in 2.8.9 and
later fixed in 2.8.11 (along with a test case to keep it working):

 http://www.cmake.org/Bug/view.php?id=13849
 http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c0f1af92

> if I then change the Clang sources, and re-run "make compiler-rt",
> Clang is re-built, but compiler-rt is *not* re-configured or re-built
[snip]
> even if I modify *sources* under projects/compiler-rt
> it doesn't re-build the compiler-rt libraries.

ExternalProject was originally designed for two purposes:

* Build third-party dependences on which local development will
  not be done

* Manage a "superbuild" project that has no binaries of its own
  but has a bunch of ExternalProject_Add calls to drive set up
  of a bunch of build trees.  Local development then occurs in
  each tree manually.

Using ExternalProject for a recursive-make-like structure was
only later proposed as a use case.  In order to make the build
step always run you need to make it depend on an extra step that
is always out of date:

ExternalProject_Add_Step(compiler-rt always-build
  COMMENT "Always building MyCOnly..."
  DEPENDERS build
  ALWAYS 1
  )

-Brad




More information about the llvm-dev mailing list