aboutsummaryrefslogtreecommitdiffstats
path: root/cmake/modules
Commit message (Collapse)AuthorAgeFilesLines
* Update aosp/master LLVM for rebase to r235153Pirama Arumuga Nainar2015-05-184-29/+81
| | | | | Change-Id: I9bf53792f9fc30570e81a8d80d296c681d005ea7 (cherry picked from commit 0c7f116bb6950ef819323d855415b2f2b0aad987)
* Update aosp/master llvm for rebase to r233350Pirama Arumuga Nainar2015-04-097-56/+148
| | | | Change-Id: I07d935f8793ee8ec6b7da003f6483046594bca49
* Update aosp/master LLVM for rebase to r230699.Stephen Hines2015-03-2311-68/+560
| | | | Change-Id: I2b5be30509658cb8266be782de0ab24f9099f9b9
* Update aosp/master LLVM for rebase to r222494.Stephen Hines2014-12-0213-111/+305
| | | | Change-Id: Ic787f5e0124df789bd26f3f24680f45e678eef2d
* Update LLVM for rebase to r212749.Stephen Hines2014-07-212-51/+53
| | | | | | | Includes a cherry-pick of: r212948 - fixes a small issue with atomic calls Change-Id: Ib97bd980b59f18142a69506400911a6009d9df18
* Update LLVM for 3.5 rebase (r209712).Stephen Hines2014-05-297-13/+131
| | | | Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
* Update to LLVM 3.5a.Stephen Hines2014-04-2410-294/+851
| | | | Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
* Revert my CMake patches concerning building with /MT (r194589, r194596)Hans Wennborg2013-11-131-13/+0
| | | | | | Reid pointed out we already have LLVM_USE_CRT_{buildtype} to set it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194604 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: make building with /MT an option instead of always forcing itHans Wennborg2013-11-131-2/+5
| | | | | | | | | | | | | for release builds. This is a follow-up to r194589. Aaron pointed out that building libraries with /MT and using them in an application that uses a different run-time library can be a bad idea. Move the option to build with /MT behind a CMake option so it can be turned on selectively, such as when building the toolchain installer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194596 91177308-0d34-0410-b5e6-96231b3b80d8
* cmake: link release builds statically against run-time library on windows ↵Hans Wennborg2013-11-131-0/+10
| | | | | | | | | | | (use /MT instead of /MD) This should fix the problem of snapshot builds created with MSVC 2012 not working for users with MSVC 2010, etc. Differential Revision: http://llvm-reviews.chandlerc.com/D2157 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194589 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove NDBEUG from all release types compile flags.Yaron Keren2013-10-191-2/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193031 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: set stack size for MSVC in just one placeHans Wennborg2013-10-171-3/+8
| | | | | | | | | | | After r192904, Reid pointed out he thought we already set the stack size for MSVC. Turns out we did, but it didn't seem to work. This commit sets the stack size in a single place, using CMAKE_EXE_LINKER_FLAGS because that seems to be the way that works best. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192912 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: set stack size to 2MB for MSVC buildsHans Wennborg2013-10-171-0/+4
| | | | | | | | | | Compiling under Visual C++ 2012 with the default stack size of 1MB, the stack overflows at a depth of 216 template instantiations, well before the 256 default limit. This patch modifies the default MSVC stack size to 2MB. Patch by Yaron Keren! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192904 91177308-0d34-0410-b5e6-96231b3b80d8
* cmake: don't set LLVM_COMPILER_IS_GCC_COMPATIBLE when using clang-clHans Wennborg2013-10-071-0/+2
| | | | | | | | | Tip-of-tree CMake has become clang-cl aware [1]. In this case, CMAKE_CXX_COMPILER_ID will still be Clang, but MSVC will be true. [1] See http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3d8356d4 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192139 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert "Revert "Windows: Add support for unicode command lines""David Majnemer2013-10-072-2/+2
| | | | | | | | This reverts commit r192070 which reverted r192069, I forgot to regenerate the configure scripts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192079 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert "Windows: Add support for unicode command lines"David Majnemer2013-10-062-2/+2
| | | | | | | | This is causing MinGW bots to fail. This reverts commit r192069. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192070 91177308-0d34-0410-b5e6-96231b3b80d8
* Windows: Add support for unicode command linesDavid Majnemer2013-10-062-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The MSVCRT deliberately sends main() code-page specific characters. This isn't too useful to LLVM as we end up converting the arguments to UTF-16 and subsequently attempt to use the result as, for example, a file name. Instead, we need to have the ability to access the Unicode command line and transform it to UTF-8. This has the distinct advantage over using the MSVC-specific wmain() function as our entry point because: - It doesn't work on cygwin. - It only work on MinGW with caveats and only then on certain versions. - We get to keep our entry point as main(). :) N.B. This patch includes fixes to other parts of lib/Support/Windows s.t. we would be able to take advantage of getting the Unicode paths. E.G. clang spawning clang -cc1 would want to give it Unicode arguments. Reviewers: aaron.ballman, Bigcheese, rnk, ruiu Reviewed By: rnk CC: llvm-commits, ygao Differential Revision: http://llvm-reviews.chandlerc.com/D1834 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192069 91177308-0d34-0410-b5e6-96231b3b80d8
* Reverts commit r190808 and r190556.Rafael Espindola2013-10-011-37/+17
| | | | | | The use of these features in clang has been reverted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191785 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] Hack GetSVN.cmake to handle unusual terminals.Jordan Rose2013-09-161-0/+3
| | | | | | | | I got a report of a hang in git's helper functions trying to figure out how to display results of "git svn info" when run inside ninja, even though the result is immediately piped to grep. This seems to avoid that. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190808 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] Update GetSVN.cmake to use LLVM version control helper scripts.Jordan Rose2013-09-111-17/+34
| | | | | | | | | This allows the logic to work with Git, and also uses the variable names to match what Clang is actually looking for. This changes the interface of GetSVN.cmake. Clang change to follow. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190556 91177308-0d34-0410-b5e6-96231b3b80d8
* cmake: Install llvm-tblgen againHans Wennborg2013-09-101-0/+4
| | | | | | | | | | | It was removed in r189130, but it turns out this makes life hard for folks packaging LLVM and Clang and building the latter based on the LLVM package. Note that this only adds back the LLVM tblgen, and it's obviously not included when LLVM_INSTALL_TOOLCHAIN_ONLY is set. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190419 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] Add -O1 in debug builds with LLVM_USE_SANITIZERAlexey Samsonov2013-09-021-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189747 91177308-0d34-0410-b5e6-96231b3b80d8
* Translate ENABLE_CLANG_{ARCMT,REWRITER,STATIC_ANALYZER} when generatingRoman Divacky2013-08-271-0/+16
| | | | | | | lit.site.cfg. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189394 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake Xcode builds: symlink tblgen targets out to bin/.Douglas Gregor2013-08-261-0/+10
| | | | | | | | | | | | | Xcode always puts executable targets in the directory bin/<Config>. When building separate LLVM and Clang projects for Xcode, this prevents the CMake-configured project for Clang from finding llvm-tblgen. Add a symlink so that tblgen executables are always available in bin/ (regardless of the configuration LLVM is built with). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189220 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: Add LLVM_INSTALL_TOOLCHAIN_ONLY option.Hans Wennborg2013-08-242-23/+38
| | | | | | Differential Revision: http://llvm-reviews.chandlerc.com/D1428 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189155 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: don't install tablegenHans Wennborg2013-08-231-2/+0
| | | | | | | | Since it's an llvm-internal tool, we shouldn't install it. (This depends on Clang r189127 and lld r189128.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189130 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] Automatically pick up subdirectories in llvm/tools as 'external ↵Argyrios Kyrtzidis2013-08-211-0/+29
| | | | | | | | | projects' if they contain a 'CMakeLists.txt' file. Allow CMake to pick up external projects in llvm/tools without the need to modify the "llvm/tools/CMakeLists.txt" file. This makes it easier to work with projects that live in other repositories, without needing to specify each one in "llvm/tools/CMakeLists.txt". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188921 91177308-0d34-0410-b5e6-96231b3b80d8
* Suppress an annoying CMake warning in ChooseMSVCCRT.cmakeReid Kleckner2013-08-191-1/+1
| | | | | | | Warning was: Argument not separated from preceding token by whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188701 91177308-0d34-0410-b5e6-96231b3b80d8
* Re-disabling C4291 warnings for MSVC because AttributeList.h requires it. ↵Aaron Ballman2013-08-161-0/+1
| | | | | | This was accidentally removed in r187279. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188530 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] add_llvm_library: Specify explicit suffix .imp to import library to ↵NAKAMURA Takumi2013-08-141-0/+5
| | | | | | | | avoid a warning between profile_rt-static and profile_rt-shared with lib/profile_rt.lib. FIXME: It seems MS version of profile_rt.dll doesn't contain any export symbols. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188351 91177308-0d34-0410-b5e6-96231b3b80d8
* Target a minimal terminfo library rather than necessarily a full cursesChandler Carruth2013-08-122-11/+6
| | | | | | | | | | | | | | | | | | | | library for color support detection. This still will use a curses library if that is all we have available on the system. This change tries to use a smaller subset of the curses library, specifically the subset that is on some systems split off into a separate library. For example, if you install ncurses configured --with-tinfo, a 'libtinfo' is install that provides just the terminfo querying functionality. That library is now used instead of curses when it is available. This happens to fix a build error on systems with that library because when we tried to link ncurses into the binary, we didn't pull tinfo in as well. =] It should also provide an easy path for supporting the NetBSD libterminfo library, but as I don't have access to a NetBSD system I'm leaving adding that support to those folks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188160 91177308-0d34-0410-b5e6-96231b3b80d8
* Add three missing CMake variables that need to make it to theChandler Carruth2013-08-081-0/+3
| | | | | | | LLVMConfig.cmake file that is (I think) used in the stand-alone Clang build, and causing link errors there w.r.t. curses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187950 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for linking against a curses library when available andChandler Carruth2013-08-072-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | using it to detect whether or not a terminal supports colors. This replaces a particularly egregious hack that merely compared the TERM environment variable to "dumb". That doesn't really translate to a reasonable experience for users that have actually ensured their terminal's capabilities are accurately reflected. This makes testing a terminal for color support somewhat more expensive, but it is called very rarely anyways. The important fast path when the output is being piped somewhere is already in place. The global lock may seem excessive, but the spec for calling into curses is *terrible*. The whole library is terrible, and I spent quite a bit of time looking for a better way of doing this before convincing myself that this was the fundamentally correct way to behave. The damage of the curses library is very narrowly confined, and we continue to use raw escape codes for actually manipulating the colors which is a much sane system than directly using curses here (IMO). If this causes trouble for folks, please let me know. I've tested it on Linux and will watch the bots carefully. I've also worked to account for the variances of curses interfaces that I could finde documentation for, but that may not have been sufficient. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187874 91177308-0d34-0410-b5e6-96231b3b80d8
* Replacing /GR with /GR- instead of applying both options to the project. ↵Aaron Ballman2013-08-061-1/+1
| | | | | | This should reduce some build bot warnings (D9025: "overriding '/GR' with '/GR-'"). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187836 91177308-0d34-0410-b5e6-96231b3b80d8
* Pass -G argument to cmake with the same generator's name as used for theSimon Atanasyan2013-08-011-1/+2
| | | | | | | | initial cmake invocation. Patch reviewed by Reid Kleckner. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187591 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure that -gsplit-dwarf isn't passed to the linker.Eric Christopher2013-07-301-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187456 91177308-0d34-0410-b5e6-96231b3b80d8
* Add capability for building with -gsplit-dwarf to the cmake build.Eric Christopher2013-07-301-0/+5
| | | | | | In limited testing this seems to work. Caveat emptor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187452 91177308-0d34-0410-b5e6-96231b3b80d8
* Re-application of 187310. Re-enabling warning C4275 for MSVC 11 and up, but ↵Aaron Ballman2013-07-291-3/+8
| | | | | | not MSVC 10 since it is still required there. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187354 91177308-0d34-0410-b5e6-96231b3b80d8
* Partial revert of 187310; it seems MSVC 10 still spits out this warning, but ↵Aaron Ballman2013-07-281-1/+2
| | | | | | MSVC 11 does not. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187331 91177308-0d34-0410-b5e6-96231b3b80d8
* Re-enabling some more MSVC warnings; all of these compile cleanly with no ↵Aaron Ballman2013-07-271-2/+0
| | | | | | further changes required. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187310 91177308-0d34-0410-b5e6-96231b3b80d8
* Re-enabling a warning in MSVC mode now that r187292 fixed the only instance ↵Aaron Ballman2013-07-271-1/+0
| | | | | | of the warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187293 91177308-0d34-0410-b5e6-96231b3b80d8
* Re-enabling some more MSVC warnings; all of these compile cleanly with no ↵Aaron Ballman2013-07-271-4/+0
| | | | | | further changes required. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187279 91177308-0d34-0410-b5e6-96231b3b80d8
* Re-enabling the C4065 warning for MSVC builds as it no longer fires due to ↵Aaron Ballman2013-07-261-1/+0
| | | | | | tablegen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187252 91177308-0d34-0410-b5e6-96231b3b80d8
* Tweak the cmake interaction between CMAKE_BUILD_TYPE and LLVM_ENABLE_ASSERTIONS.Duncan Sands2013-07-171-2/+2
| | | | | | | | | | | | | | | The issue is that CMAKE_BUILD_TYPE=RelWithDebInfo LLVM_ENABLE_ASSERTIONS=ON was not building with assertions enabled. (I was unable to find what in the LLVM source tree was adding -DNDEBUG to the build line in this case, so decided that it must be cmake itself that was adding it - this may depend on the cmake version). The fix treats any mode that is not Debug as being the same as Release for this purpose (previously it was being assumed that cmake would only add -DNDEBUG for Release and not for RelWithDebInfo or MinSizeRel). If other versions of cmake don't add -DNDEBUG for RelWithDebInfo then that's OK: with this change you just get a useless but harmless -UNDEBUG or -DNDEBUG. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186499 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert "Cmake: add compiler option in a more idiomatic way"Rafael Espindola2013-06-141-2/+4
| | | | | | | | | This reverts commit 183995. It broke the bots: http://bb.pgr.jp/builders/cmake-clang-x86_64-linux/builds/9730/steps/build_clang/logs/stdio git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183997 91177308-0d34-0410-b5e6-96231b3b80d8
* Cmake: add compiler option in a more idiomatic wayArnaud A. de Grandmaison2013-06-141-4/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183995 91177308-0d34-0410-b5e6-96231b3b80d8
* Add colored diagnostics when building LLVM with cmake + ninja + clangArnaud A. de Grandmaison2013-05-291-0/+7
| | | | | | When invoked from Ninja, clang does not detect that it can use colors : see https://github.com/martine/ninja/issues/174 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182878 91177308-0d34-0410-b5e6-96231b3b80d8
* Add basic zlib support to LLVM. This would allow to use ↵Alexey Samsonov2013-04-232-0/+6
| | | | | | compression/uncompression in selected LLVM tools. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180083 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the executable bit on cmake filesSylvestre Ledru2013-04-212-0/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179976 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't explicitly provide -pie in MSan bootstrap of LLVM, as it's now implied ↵Alexey Samsonov2013-04-121-2/+0
| | | | | | by the driver git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179367 91177308-0d34-0410-b5e6-96231b3b80d8