summaryrefslogtreecommitdiff
path: root/cmake
Commit message (Collapse)AuthorAge
* LLVMProcessSources.cmake: [MSVC] Don't add "PROPERTIES HEADER_FILE_ONLY" to ↵NAKAMURA Takumi2012-06-24
| | | | | | | | *.def. FIXME: Shall we put *.def(s) to the folder? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159102 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid using the recently added APPEND_STRING feature. This shouldChandler Carruth2012-06-21
| | | | | | | restore support for CMake versions before 2.8.6 -- sorry for the trouble! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158930 91177308-0d34-0410-b5e6-96231b3b80d8
* Completely refactor the structuring of unittest CMake files to match theChandler Carruth2012-06-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Makefiles, the CMake files in every other part of the LLVM tree, and sanity. This should also restore the output tree structure of all the unit tests, sorry for breaking that, and thanks for letting me know. The fundamental change is to put a CMakeLists.txt file in the unittest directory, with a single test binary produced from it. This has several advantages: - No more weird directory stripping in the unittest macro, allowing it to be used more readily in other projects. - No more directory prefixes on all the source files. - Allows correct and precise use of LLVM's per-directory dependency system. - Allows use of the checking logic for source files that have not been added to the CMake build. This uncovered a file being skipped with CMake in LLVM and one in Clang's unit tests. - Makes Specifying conditional compilation or other custom logic for JIT tests easier. It did require adding the concept of an explicit 'optional' source file to the CMake build so that the missing-file check can skip cases where the file is *supposed* to be missing. =] This is another chunk of refactoring the CMake build in order to make it usable for other clients like CompilerRT / ASan / TSan. Note that this is interdependent with a Clang CMake change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158909 91177308-0d34-0410-b5e6-96231b3b80d8
* Factor the logic for setting up a GoogleTest unit test executable intoChandler Carruth2012-06-21
| | | | | | | a helper function in CMake. This will allow us to share all of this logic with Clang, and eventually CompilerRT. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158896 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove one of the LLVM-specific CMake hacks in favor of standard CMakeChandler Carruth2012-06-21
| | | | | | | | | | facilities. This was only used in one place in LLVM, and was used pervasively (but with different code!) in Clang. It has no advantages over the standard CMake facilities and in some cases disadvantages. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158889 91177308-0d34-0410-b5e6-96231b3b80d8
* TableGen.cmake: Fix to work without LLVM_COMMON_DEPENDS.NAKAMURA Takumi2012-06-17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158650 91177308-0d34-0410-b5e6-96231b3b80d8
* cmake: Pass the -m32 flag to modules if LLVM_BUILD_32_BITS is enabledTobias Grosser2012-06-08
| | | | | | | | | | | This was previously only done for executables and shared libraries, but not for modules. As modules are essentially shared libraries (that need to be dlopened explicitly), threating them the same as shared libraries seems reasonable. This fixes the LLVM_BUILD_32_BITS build of Polly. Contributed by: Ondra Hosek <ondra.hosek@gmail.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158195 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] Promote extension warnings to errors.Michael J. Spencer2012-06-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158176 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] Order MSVC warnings numerically.Michael J. Spencer2012-06-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158171 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] Adjust MSVC warnings.Michael J. Spencer2012-06-07
| | | | | | | Remove /Wall from LLVM_ENABLE_WARNINGS (it's useless) and promote 4239 to a level 1 warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158170 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix how CMake appends -m32 to linker command-linesTim Northover2012-05-23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157337 91177308-0d34-0410-b5e6-96231b3b80d8
* Adding -fcolor-diagnostics is causing problem to users that parse the buildRafael Espindola2012-05-08
| | | | | | | | | | | output. Peter Collingbourne also reports that it is showing up in $(llvm-config --cflags). Revert this for now since I don't know enough cmake to fix it properly. This reverts commit 18efed7adc79c1970f307bb5b015d199012ba872. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156392 91177308-0d34-0410-b5e6-96231b3b80d8
* [build] Add build check for ::arc4random().Daniel Dunbar2012-05-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156236 91177308-0d34-0410-b5e6-96231b3b80d8
* Pass -fcolor-diagnostics when it is supported. This makes a difference whenRafael Espindola2012-05-04
| | | | | | using cmake+ninja, since ninja buffers the compiler output. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156150 91177308-0d34-0410-b5e6-96231b3b80d8
* Add rudimentary CMake logic for detecting Graphviz.Ted Kremenek2012-05-03
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156108 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] Restructure how Clang, Polly and other external projects get included.Michael J. Spencer2012-04-26
| | | | | | | | | | | | | | | | | | | While making lld build under the tools directory I decided to refactor how this works. There is now a macro, add_llvm_external_project, which takes the name of the expected subdirectory. This sets up two CMake options. * LLVM_EXTERNAL_${NAME}_SOURCE_DIR This is the path to the source. It defaults to ${CMAKE_CURRENT_SOURCE_DIR}/${name}. * LLVM_EXTERNAL_${NAME}_BUILD Enable and disable building the tool as part of LLVM. I chose LLVM_EXTERNAL_${NAME} as a prefix so they all show up together in the GUI. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155654 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: Enable LLVM_COMPILER_JOBS on all MS IDEs. We don't support older ↵NAKAMURA Takumi2012-04-21
| | | | | | environments than VS9. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155285 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: Prune redundant LLVM_COMPILER_JOBS from llvm/CMakeLists.txt. ↵NAKAMURA Takumi2012-04-21
| | | | | | HandleLLVMOptions.cmake has it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155284 91177308-0d34-0410-b5e6-96231b3b80d8
* Add InitializeNativeTargetDisassembler function.Eric Christopher2012-03-26
| | | | | | Patch by Ojab. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153476 91177308-0d34-0410-b5e6-96231b3b80d8
* Minimal changes for LLVM to compile under VS11.Michael J. Spencer2012-03-01
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151849 91177308-0d34-0410-b5e6-96231b3b80d8
* Enable -Wcovered-switch-default again, but add -Werror to the checks to makeRafael Espindola2012-02-28
| | | | | | sure we don't use it with compilers that don't support it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151665 91177308-0d34-0410-b5e6-96231b3b80d8
* Temporarily revert r151609, which enabled a new warning for LLVM andChandler Carruth2012-02-28
| | | | | | | | Clang builds. The detection logic for compilers that support the warning isn't working. Rafael is going to investigate it, but didn't want people to have to wade through build spam until then. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151649 91177308-0d34-0410-b5e6-96231b3b80d8
* Enable -Wcovered-switch-default as it matches the switch style used in llvm.Rafael Espindola2012-02-28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151609 91177308-0d34-0410-b5e6-96231b3b80d8
* add LLVM_VERSION_MAJOR and _MINOR definesDylan Noblesmith2012-02-13
| | | | | | | | | | | | This is useful for clients that want to maintain compatibility across multiple releases of LLVM. Currently users like Klee and Mesa all have to roll their own 'parse llvm-config --version output and generate defines' solution. Also reuse the new macros so that version information is less redundant/likely to fall out of sync again in the future. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150405 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: Add the folder "Tablegenning" on llvm-tblgen targets.NAKAMURA Takumi2012-01-30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149219 91177308-0d34-0410-b5e6-96231b3b80d8
* -fvisibility-inlines-hidden is a c++ only option.Rafael Espindola2012-01-25
| | | | | | Thanks to Peter Collingbourne for noticing it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148913 91177308-0d34-0410-b5e6-96231b3b80d8
* Undo an over zealous rename. This bit of the CMake build really isChandler Carruth2012-01-24
| | | | | | | dealing in the host triple, be honest about it and document the decision to default the target triple to the host triple unless overridden. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148822 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't use -fvisibility-inlines-hidden on mingw to try to avoid a lot ofRafael Espindola2012-01-20
| | | | | | warnings from gcc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148539 91177308-0d34-0410-b5e6-96231b3b80d8
* cmake: pass -fvisibility-inlines-hidden if it is supported. In aRafael Espindola2012-01-20
| | | | | | | Release+Asserts build with -DBUILD_SHARED_LIBS=ON, the install directory goes from 72MB to 70MB. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148530 91177308-0d34-0410-b5e6-96231b3b80d8
* revert r147542 after comments from Joerg SonnenbergerSebastian Pop2012-01-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147608 91177308-0d34-0410-b5e6-96231b3b80d8
* use getHostTriple instead of getDefaultTargetTriple in getClosestTargetForJITSebastian Pop2012-01-04
| | | | | | | | | | Get back getHostTriple. For JIT compilation, use the host triple instead of the default target: this fixes some JIT testcases that used to fail when the compiler has been configured as a cross compiler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147542 91177308-0d34-0410-b5e6-96231b3b80d8
* Use 'check_symbol_exists' instead of 'check_function_exists' for finding ↵Ted Kremenek2011-12-23
| | | | | | isatty. This change allows Xcode generated projects to have HAVE_ISATTY to be properly defined. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147215 91177308-0d34-0410-b5e6-96231b3b80d8
* Tweak CMake build on Cygwin.NAKAMURA Takumi2011-12-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146725 91177308-0d34-0410-b5e6-96231b3b80d8
* cmake: work with CMake < 2.8.5Dylan Noblesmith2011-12-12
| | | | | | | | | | | CMake versions 2.8.4 and earlier were giving this error since r146323: "string end index: -1 is out of range 0 - 6" Passing -1 as the length of the desired substring was a new feature added in CMake 2.8.5: http://www.cmake.org/Bug/view.php?id=10740 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146372 91177308-0d34-0410-b5e6-96231b3b80d8
* Use a simpler and more reliable command for converting from HEAD toChandler Carruth2011-12-10
| | | | | | commit-ish. Funny thing, they have a command designed for this. ;] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146325 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach the VCS detection to set some root-level variables with the rawChandler Carruth2011-12-10
| | | | | | | revision and git commit data extracted. This will be used in the Clang CMake build to avoid trying to re-detect the information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146324 91177308-0d34-0410-b5e6-96231b3b80d8
* At the request of Michael Spencer, make the VCS version detection logicChandler Carruth2011-12-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in CMake a bit more handy. Previously we would get such charming versions as the following for revision NNNN and commit-ish XXXXX: 3.1svnsvn-rNNNN 3.1svngit-svn-rNNNN 3.1svngit-svn-XXXXX The mechanism selecting betwene the latter two was particularly odd, and didn't work with all of the ways git-svn repos are set up apparently. It also misses an important point -- both the revision *and* the git commit might be relevant when working on a local branch some distance from mainline. The new logic does several things: 1) It strips the redundant initial 'svn'. 2) It always looks for a git-svn revision number base, and when found includes it in the version. 3) If the git commit-ish for the current HEAD is not exactly that revision number, it is also included. The resulting strings should roughly be: 3.1svn-rNNNN 3.1git-svn-rNNNN 3.1git-svn-rNNNN-XXXXX Suggestions on formatting etc always welcome. =] I've only looked at the LLVM version string here, not Clang's (yet). Note that the commit-ish reported is *not* terribly accurate. It updates when 'cmake' is run, not when the binary is built. Still, it may be better than nothing, especially if people have fairly long-lived git repos and branches. This is not a new limitation, just didn't want anyone to be surprised. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146323 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix InitializeNativeTargetAsmParser in CMake builds by defining theChandler Carruth2011-12-09
| | | | | | appropriate macro. Patch by Alexey Prokhin. Fixes PR11498. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146239 91177308-0d34-0410-b5e6-96231b3b80d8
* build/CMake: Finish removal of add_llvm_library_dependencies.Daniel Dunbar2011-11-29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145420 91177308-0d34-0410-b5e6-96231b3b80d8
* build/cmake: Switch to using llvm-build computed dependencies.Daniel Dunbar2011-11-29
| | | | | | | | - I verified locally that the current dependency lists are identical. - This makes add_llvm_library_dependencies() a no-op. I'll remove it once this change passes the bots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145355 91177308-0d34-0410-b5e6-96231b3b80d8
* rename ENABLE_THREADS to LLVM_ENABLE_THREADSDylan Noblesmith2011-11-28
| | | | | | | | | | | Now that it needs to be exported in a public header (Valgrind.h) it should be prefixed to avoid collision with other projects. Add it to llvm-config.h as well. This'll require regenerating the configure script after this commit, but I don't have the required autoconf version. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145214 91177308-0d34-0410-b5e6-96231b3b80d8
* Add configure checking for pread(2) and use it to save a syscall when ↵Benjamin Kramer2011-11-22
| | | | | | reading files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145061 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix CRT selection logic when using CMake NMake generator.NAKAMURA Takumi2011-11-06
| | | | | | | | CMAKE_CONFIGURATION_TYPES is only set on Visual Studio generators. For NMake CMAKE_BUILD_TYPE is used instead. Patch by EJose Fonseca! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143898 91177308-0d34-0410-b5e6-96231b3b80d8
* build/cmake: Move all the user controllable options into top-level CMakeListsDaniel Dunbar2011-11-04
| | | | | | for consistency. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143728 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a typo noticed by Peter Collingbourne. No one depends on thisChandler Carruth2011-11-02
| | | | | | | working today, but it shouldn't corrupt state for some poor soul to debug later. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143545 91177308-0d34-0410-b5e6-96231b3b80d8
* The TableGen parts of the CMake build are seriously broken. This fixesChandler Carruth2011-11-02
| | | | | | | | | | | | | | one aspect of them by having them use the (annoying, if not broken) proper library dependency model for adding the LLVMTableGen library as a dependency. This could manifest as a link order issue in the presence of separate LLVM / Clang source builds with CMake and a linker that really cares about such things. Also, add the Support dependency to llvm-tblgen itself so that it doesn't rely on TableGen's transitive Support dependency. A parallel change for clang-tblgen will be forthcoming. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143531 91177308-0d34-0410-b5e6-96231b3b80d8
* rename LLVM_HOSTTRIPLE into LLVM_DEFAULT_TARGET_TRIPLESebastian Pop2011-11-01
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143501 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the Alpha backend.Dan Gohman2011-10-27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143164 91177308-0d34-0410-b5e6-96231b3b80d8
* Add -D__STDC_FORMAT_MACROS to use PRIx64.NAKAMURA Takumi2011-10-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141663 91177308-0d34-0410-b5e6-96231b3b80d8
* cmake/modules/HandleLLVMOptions.cmake: Reorder __STDC_CONSTANT_MACROS and ↵NAKAMURA Takumi2011-10-11
| | | | | | __STDC_LIMIT_MACROS. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141662 91177308-0d34-0410-b5e6-96231b3b80d8