summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
AgeCommit message (Collapse)Author
2015-03-10Add new LLVM_OPTIMIZED_TABLEGEN build setting which configures, builds and ↵Chris Bieneman
uses a release tablegen build when LLVM is configured with assertions enabled. Summary: This change leverages the cross-compiling functionality in the build system to build a release tablegen executable for use during the build. Reviewers: resistor, rnk Reviewed By: rnk Subscribers: rnk, joker.eph, llvm-commits Differential Revision: http://reviews.llvm.org/D7349 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@231842 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-07Teach the LLVM CMake build how to explicitly use libc++abi when usingChandler Carruth
libc++. This lets me almost self-host on Linux with libc++ and libc++abi very simply. Currently, MCJIT and OrcJIT are failing due to uncaught exceptions, and the Go binding tests are failing to build due to not linking in the correct C++ standard library. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@231560 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-27Minor follow-ups to r229720 suggested on llvmdevReid Kleckner
"svn" patch by Sedat Dilek plus trimming whitespace added in r229720. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230773 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-24[CMake] Set policy CMP0051 to OLD globally.Zachary Turner
When you use generator expressions in a library sources list, and then later access the SOURCES property, the OLD behavior (CMake 3.0 and earlier) would not include these expressions in the SOURCES property. The NEW behavior (starting in CMake 3.1) is that they do include the generator expressions in the SOURCES property. Differential Revision: http://reviews.llvm.org/D7870 Reviewed By: Chris Bieneman git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230396 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-24Revert "Raising minimum required CMake version to 2.8.12.2."Tobias Grosser
This reverts commit r230062. Debian stable (wheezy) ships still with cmake 2.8.9. The commit broke my LLVM/Polly buildbot, to my knowledge our only Linux+cmake buildbot. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230343 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-23Revert "Revert "Raising minimum required CMake version to 2.8.12.2.""Chad Rosier
This reverts commit r230240, which was an accidental commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230246 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-23Revert "Raising minimum required CMake version to 2.8.12.2."Chad Rosier
This reverts commit 247aed4710e8befde76da42b27313661dea7cf66. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230240 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-20Raising minimum required CMake version to 2.8.12.2.Chris Bieneman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230062 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-20Setting up CMake to default to Debug when no build type is specified.Chris Bieneman
Summary: Turns out if you don't set CMAKE_BUILD_TYPE the default is an empty string. This results in some of the behaviors of debug builds, but not all of them. For example ENABLE_ASSERTIONS is false. Reviewers: rnk Reviewed By: rnk Subscribers: chapuni, llvm-commits Differential Revision: http://reviews.llvm.org/D7360 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230041 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-18Adding install targets for individual LLVM tools and libraries.Chris Bieneman
Summary: * add_llvm_tool and add_llvm_library now add install-${name} targets to install specific components * added installhdrs target to install just the LLVM headers * The above changes only apply for single-configuration generators (Ninja, Makefiles...), not for multi-configuration generators (Visual Studio, Xcode...) Reviewers: pete Reviewed By: pete Subscribers: pete, llvm-commits Differential Revision: http://reviews.llvm.org/D7619 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229727 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-18Enable standard so versioning for libLLVM.Chris Bieneman
Summary: This resolves Bugzilla bug 15493. Reviewers: chapuni, pete Reviewed By: pete Subscribers: pete, llvm-commits Differential Revision: http://reviews.llvm.org/D6157 Conflicts: cmake/modules/AddLLVM.cmake git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229720 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-15Update the docs to require at least MSVC 2013.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229323 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-15Reapply r229185(cbieneman) -- Raising minimum required Visual Studio version ↵NAKAMURA Takumi
to 2013. This is based on the discussions on: [LLVMdev] [RFC] Raising LLVM minimum required MSVC version to 2013 for trunk git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229320 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-14Revert r229185, "Raising minimum required Visual Studio version to 2013."NAKAMURA Takumi
All builders are not ready yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229199 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-13Raising minimum required Visual Studio version to 2013.Chris Bieneman
This is based on the discussions on: [LLVMdev] [RFC] Raising LLVM minimum required MSVC version to 2013 for trunk git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229185 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-09Revert "Raising minimum required CMake version to 2.8.12.2."Chris Bieneman
This reverts commit add62ac537d8249fa2161405066e318ca80e199d. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228616 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-09Raising minimum required CMake version to 2.8.12.2.Chris Bieneman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228615 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-03Fix ProgramFiles path for 64-bit Windows installerHans Wennborg
If we are building an 64bit installer on Windows we have to adjust the Program Files path otherwise it uses the wrong Program Files (x86) directory. Related CMake bug report http://public.kitware.com/Bug/view.php?id=14211 Patch by Ismail Dönmez! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227999 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-14Trunk is now 3.7.0svnHans Wennborg
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226004 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-29[py3] Teach the CMake build to reject Python versions older than 2.7.Chandler Carruth
Continue to require Python 2 however as recent experiments suggest LLDB's build requires it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224948 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-29[cmake] Start making LLVM_LIBDIR_SUFFIX effective by adding it toChandler Carruth
*numerous* places where it was missing in the CMake build. The primary change here is that the suffix is now actually used for all of the lib directories in the LLVM project's CMake. The various subprojects still need similar treatment. This is the first of a series of commits to try to make LLVM's cmake effective in a multilib Linux installation. I don't think many people are seriously using this variable so I'm hoping the fallout will be minimal. A somewhat unfortunate consequence of the nature of these commits is that until I land all of them, they will in part make the brokenness of our multilib support more apparant. At the end, things should actually work. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224919 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-09Adding a new option to CMake to disable C++ atexit on llvm-shlib.Chris Bieneman
Summary: This is desirable for WebKit and other clients of the llvm-shlib because C++ exit time destructors have a tendency to crash when invoked from multi-threaded applications. Ideally this option will be temporary, because the ideal fix is to just not have exit time destructors. Reviewers: chapuni, ributzka Reviewed By: ributzka Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D6572 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223805 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-01[OCaml] [cmake] Add CMake buildsystem for OCaml.Peter Zotov
Closes PR15325. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223071 91177308-0d34-0410-b5e6-96231b3b80d8
2014-11-19Use ninja pools to limit the number of concurrent compile/link jobs.Evgeniy Stepanov
This change makes use of the new "job pool" capability in cmake 3.0 with ninja generator to allow limiting the number of concurrent jobs of a certain type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@222341 91177308-0d34-0410-b5e6-96231b3b80d8
2014-11-17CMake: Use the new USES_TERMINAL option for test suite targets when available.Peter Collingbourne
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@222181 91177308-0d34-0410-b5e6-96231b3b80d8
2014-11-07Pass PRIVATE to target_link_libraries if using shared libraries.Rafael Espindola
A shared library (unlike a .a), has its dependencies recorded in the library and we can pass PRIVATE to target_link_libraries. This patch then removes some bogus dependencies when using BUILD_SHARED_LIBS=ON. For example, we go from build lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/AggressiveAntiDepBreaker.cpp.o: CXX_COMPILER /home/espindola/llvm/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp || include/llvm/IR/intrinsics_gen lib/libLLVMSupport.so lib/libLLVMCore.so lib/libLLVMBitReader.so lib/libLLVMTransformUtils.so lib/libLLVMInstCombine.so lib/libLLVMScalarOpts.so lib/libLLVMipa.so lib/libLLVMAnalysis.so lib/libLLVMMCParser.so lib/libLLVMMC.so lib/libLLVMObject.so lib/libLLVMTarget.so lib/libLLVMProfileData.so to build lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/AggressiveAntiDepBreaker.cpp.o: CXX_COMPILER /home/espindola/llvm/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp || include/llvm/IR/intrinsics_gen lib/libLLVMSupport.so lib/libLLVMCore.so lib/libLLVMTransformUtils.so lib/libLLVMScalarOpts.so lib/libLLVMAnalysis.so lib/libLLVMMC.so lib/libLLVMTarget.so In fact, build.ninja goes from 5231028 bytes to 4896759 bytes. With this, old verisons of bfd ld (2.24 is OK, 2.23 warns) will print a bogus warning when building with BUILD_SHARED_LIBS. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@221530 91177308-0d34-0410-b5e6-96231b3b80d8
2014-10-23Adding llvm-shlib to CMake build system with a few new bells and whistlesChris Bieneman
Summary: This patch adds a new CMake build setting LLVM_BUILD_LLVM_DYLIB, which defaults to OFF. When set to ON, this will generate a shared library containing most of LLVM. The contents of the shared library can be overriden by specifying LLVM_DYLIB_COMPONENTS. LLVM_DYLIB_COMPONENTS can be set to a semi-colon delimited list of any LLVM components that you llvm-config can resolve. On Windows, unless you are using Cygwin, you must specify an explicit symbol export file using LLVM_EXPORTED_SYMBOL_FILE. On Cygwin and all unix-like platforms if you do not specify LLVM_EXPORTED_SYMBOL_FILE, an export file containing only the LLVM C API will be auto-generated from the list of LLVM components specified in LLVM_DYLIB_COMPONENTS. Reviewers: rnk Reviewed By: rnk Subscribers: rnk, llvm-commits Differential Revision: http://reviews.llvm.org/D5890 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@220490 91177308-0d34-0410-b5e6-96231b3b80d8
2014-09-26Add LLVM_ENABLE_MODULES flag to CMake to enable building with C++ modules.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218551 91177308-0d34-0410-b5e6-96231b3b80d8
2014-09-03Enabling LLVM & Clang to be cross-compiled using CMake from a single ↵Chris Bieneman
configuration command line The basic idea is similar to the existing cross compilation support. A directory must be configured to build host versions of tablegen tools and llvm-config. This directory can be user provided (and configured), or it can be created during the build. During a build the native build directory will be configured and built to supply the tablegen tools used during the build. A user could also explicitly provide the tablegen executables to run on the CMake command line. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@217105 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-01Fix building with in-tree libc++abi on FreeBSDViktor Kutuzov
Differential Revision: http://reviews.llvm.org/D4743 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214541 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-28Update LLVM version: 3.5 => 3.6Hans Wennborg
We branched 3.5, it's now time to work on 3.6. This is Sylvestre's patch from [1] plus regenerated configure file by me, and minus the release notes reset, which Sean pointed out [2] should happen later. 1. http://reviews.llvm.org/D4660 2. http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20140721/111137.html git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214131 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-04[CMake] Introduce LLVM_SHLIB_OUTPUT_INTDIR.NAKAMURA Takumi
For now, its user is configure_lit_site_cfg(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212314 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-23Delete utils/FileUpdate.Rafael Espindola
It is unused and it looks like it was never used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211508 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-12Delete trailing whitespace.Matt Arsenault
Hopefully this forces cmake to re-run. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@210830 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-12CMake: don't install the internal config.h headerAlp Toker
Background: http://lists.cs.uiuc.edu/pipermail/llvmdev/2014-June/073707.html git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@210766 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-06Make LINK_POLLY_INTO_TOOLS work with the CMake buildAlp Toker
The option check was being performed after config.h/llvm-config.h substitution, generating incorrect macro definitions. Fixes PR19614. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@210311 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-24AArch64/ARM64: move ARM64 into AArch64's placeTim Northover
This commit starts with a "git mv ARM64 AArch64" and continues out from there, renaming the C++ classes, intrinsics, and other target-local objects for consistency. "ARM64" test directories are also moved, and tests that began their life in ARM64 use an arm64 triple, those from AArch64 use an aarch64 triple. Both should be equivalent though. This finishes the AArch64 merge, and everyone should feel free to continue committing as normal now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209577 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-24AArch64/ARM64: remove AArch64 from tree prior to renaming ARM64.Tim Northover
I'm doing this in two phases for a better "git blame" record. This commit removes the previous AArch64 backend and redirects all functionality to ARM64. It also deduplicates test-lines and removes orphaned AArch64 tests. The next step will be "git mv ARM64 AArch64" and rewire most of the tests. Hopefully LLVM is still functional, though it would be even better if no-one ever had to care because the rename happens straight afterwards. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209576 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-07[CMake] Add build rules for llvm-PerfectShuffle utilityAlexey Samsonov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208225 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-18Added Sphinx documentation generation to CMake build system.Reid Kleckner
The option LLVM_ENABLE_SPHINX option enables the "docs-llvm-html", "docs-llvm-man" targets but does not build them by default. The following CMake options have been added that control what targets are made available SPHINX_OUTPUT_HTML SPHINX_OUTPUT_MAN If LLVM_BUILD_DOCS is enabled then the enabled docs-llvm-* targets will be built by default and if ``make install`` is run then docs-llvm-html and docs-llvm-man will be installed (tested on Linux only). The add_sphinx_target function is in its own file so it can be included by other projects that use Sphinx for their documentation. Patch by Daniel Liew <daniel.liew@imperial.ac.uk>! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206655 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-14[CMake] Reformat, if(MSVC)...else()...endif()NAKAMURA Takumi
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206215 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-02Add ability to disable building LLVM utilsPete Cooper
Patch by Chris Bieneman git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205478 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-29ARM64: initial backend importTim Northover
This adds a second implementation of the AArch64 architecture to LLVM, accessible in parallel via the "arm64" triple. The plan over the coming weeks & months is to merge the two into a single backend, during which time thorough code review should naturally occur. Everything will be easier with the target in-tree though, hence this commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205090 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-27Win installer: provide a pretty iconHans Wennborg
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204960 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-14static link polly into toolsSebastian Pop
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203886 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-11move WITH_POLLY option before add_subdirectory(tools)Sebastian Pop
the first run of the polly buildbot failed, and then it started passing. This is due to the fact that the buildbot re-builds in an existing directory, and the first run does not have WITH_POLLY set when it enters tools/. Thus, cmake ignores the tools/polly dir in the first run, and then because it reuses the CMakeCache.txt of the previous run, it has the WITH_POLLY set by the previous run, and so it passes the second time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203615 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-10fix PR13550: add a cmake WITH_POLLY optionSebastian Pop
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203486 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-09Work around FreeBSD rtld rpath $ORIGIN limitationEd Maste
FreeBSD's rtld requires the DF_ORIGIN flag set in order to process $ORIGIN in rpath. FreeBSD bug http://bugs.freebsd.org/187114 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203419 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-04Cleaning up a bunch of pre-Visual C++ 2012 build hacks.Yaron Keren
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202806 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-03Add patch level to llvm version in CMake and AutoconfTom Stellard
The shared library generated by autoconf will now be called libLLVM-$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH)$(VERSION_SUFFIX).so and a symlink named libLLVM-$(VERSION_MAJOR).$(VERSION_MINOR)$(VERSION_SUFFIX).so will also be created in the install directory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202720 91177308-0d34-0410-b5e6-96231b3b80d8