[LLVMdev] migrating from autoconf to cmake+ninja

Carsten Mattner
Tue, 02 Sep 2014 20:55:11 -0000

On Wed, Aug 27, 2014 at 4:29 PM, Mueller-Roemer, Johannes Sebastian
<Johannes.Sebastian.Mueller-Roemer at igd.fraunhofer.de>
wrote:
> prefix = CMAKE_INSTALL_PREFIX
> enabled-shared = BUILD_SHARED_LIBS
> targets = LLVM_TARGETS_TO_BUILD (defaults to all, or use a semicolon
separated list)
> disable-assertions = LLVM_ENABLE_ASSERTIONS (obviously inverted ;)
>
> I don't believe the others have direct equivalents, however
debug/optimized is chosen via CMAKE_BUILD_TYPE

Thank you. I found
http://llvm.org/docs/CMake.html#options-and-variables and gonna
try out cmake -G ninja.

> -----Original Message-----
> From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at
cs.uiuc.edu] On Behalf Of Carsten Mattner
> Sent: Wednesday, August 27, 2014 15:41
> To: llvmdev at cs.uiuc.edu
> Subject: [LLVMdev] migrating from autoconf to cmake+ninja
>
> I want to start using cmake+ninja instead of autoconf for configuring and
building llvm from svn, but I have no idea how to map my existing list of
autoconf flags to cmake.
>
> Here's how I run ./configure right now in the top directory:
> PREFIX=_some_prefix_dir_ \
>     ../llvm/configure \
>     --prefix=$PREFIX \
>     --libdir=$PREFIX/lib/llvm \
>     --sysconfdir=$PREFIX/etc \
>     --enable-shared \
>     --enable-targets=all \
>     --disable-expensive-checks \
>     --disable-debug-runtime \
>     --disable-assertions \
>     --with-binutils-include=/usr/include \
>     --enable-optimized
>
> Is it possible to map this to cmake flags and if yes how?
>
> Platform is linux-x86_64 and revision is release_35 branch.
>
> If there's superfluous flags please do tell and I'll remove them.
>
> Also is there a flag to skip tests?
>
> Is building lld on linux supported? I tried including lld in the build and
it failed:
> llvm[4]: Linking Release unit test CoreTest (without symbols)
> /tmp/llvm/build/Release/lib/libgtest_main.a(TestMain.o): In function
`main':
> /tmp/llvm/llvm/utils/unittest/UnitTestMain/TestMain.cpp:(.text.main+0x28):
> undefined reference to `llvm::cl::ParseCommandLineOptions(int, char
> const* const*, char const*)'
> clang: error: linker command failed with exit code 1 (use -v to see
invocation)
> /tmp/llvm/llvm/unittests/Makefile.unittest:58: recipe for target
'Release/CoreTestTests' failed
> make[4]: *** [Release/CoreTestTests] Error 1
> make[4]: Leaving directory
'/tmp/llvm/build/tools/lld/unittests/CoreTests'
> /tmp/llvm/llvm/Makefile.rules:937: recipe for target
'CoreTests/.makeall' failed
> make[3]: *** [CoreTests/.makeall] Error 2
_______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev