summaryrefslogtreecommitdiffstats
path: root/llvm/cmake/modules
Commit message (Collapse)AuthorAgeFilesLines
...
* 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). llvm-svn: 189220
* CMake: Add LLVM_INSTALL_TOOLCHAIN_ONLY option.Hans Wennborg2013-08-242-23/+38
| | | | | | Differential Revision: http://llvm-reviews.chandlerc.com/D1428 llvm-svn: 189155
* 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.) llvm-svn: 189130
* [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". llvm-svn: 188921
* Suppress an annoying CMake warning in ChooseMSVCCRT.cmakeReid Kleckner2013-08-191-1/+1
| | | | | | | Warning was: Argument not separated from preceding token by whitespace. llvm-svn: 188701
* Re-disabling C4291 warnings for MSVC because AttributeList.h requires it. ↵Aaron Ballman2013-08-161-0/+1
| | | | | | This was accidentally removed in r187279. llvm-svn: 188530
* [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. llvm-svn: 188351
* 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. llvm-svn: 188160
* 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. llvm-svn: 187950
* 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. llvm-svn: 187874
* 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-'"). llvm-svn: 187836
* 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. llvm-svn: 187591
* Make sure that -gsplit-dwarf isn't passed to the linker.Eric Christopher2013-07-301-1/+1
| | | | llvm-svn: 187456
* 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. llvm-svn: 187452
* 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. llvm-svn: 187354
* Partial revert of 187310; it seems MSVC 10 still spits out this warning, but ↵Aaron Ballman2013-07-281-1/+2
| | | | | | MSVC 11 does not. llvm-svn: 187331
* Re-enabling some more MSVC warnings; all of these compile cleanly with no ↵Aaron Ballman2013-07-271-2/+0
| | | | | | further changes required. llvm-svn: 187310
* Re-enabling a warning in MSVC mode now that r187292 fixed the only instance ↵Aaron Ballman2013-07-271-1/+0
| | | | | | of the warning. llvm-svn: 187293
* Re-enabling some more MSVC warnings; all of these compile cleanly with no ↵Aaron Ballman2013-07-271-4/+0
| | | | | | further changes required. llvm-svn: 187279
* Re-enabling the C4065 warning for MSVC builds as it no longer fires due to ↵Aaron Ballman2013-07-261-1/+0
| | | | | | tablegen. llvm-svn: 187252
* 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. llvm-svn: 186499
* 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 llvm-svn: 183997
* Cmake: add compiler option in a more idiomatic wayArnaud A. de Grandmaison2013-06-141-4/+2
| | | | llvm-svn: 183995
* 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 llvm-svn: 182878
* Add basic zlib support to LLVM. This would allow to use ↵Alexey Samsonov2013-04-232-0/+6
| | | | | | compression/uncompression in selected LLVM tools. llvm-svn: 180083
* Remove the executable bit on cmake filesSylvestre Ledru2013-04-212-0/+0
| | | | llvm-svn: 179976
* Don't explicitly provide -pie in MSan bootstrap of LLVM, as it's now implied ↵Alexey Samsonov2013-04-121-2/+0
| | | | | | by the driver llvm-svn: 179367
* [cmake] Avoid rel+asserts warnings when passing -UNDEBUGReid Kleckner2013-04-071-0/+3
| | | | | | | MSVC 2012 gives warning D9025, "overriding /D NDEBUG with -UNDEBUG". Removing the original definition of NDEBUG silences this. llvm-svn: 178967
* Add CMake option LLVM_USE_SANITIZER={Address,Memory,MemoryWithOrigins} to ↵Alexey Samsonov2013-03-261-3/+42
| | | | | | simplify bootstrap of LLVM/Clang under ASan/MSan llvm-svn: 177992
* Introduce a tiny CMake project to gather Subversion revision information and ↵Douglas Gregor2013-03-251-0/+25
| | | | | | place it into a header. llvm-svn: 177938
* Don't use add_llvm_definitions for adding warning flags. It makes it too hardDuncan Sands2013-03-251-14/+20
| | | | | | | | | to have them appear in the right order. Instead append all warnings explicitly to the language flags. This was already the case for many warnings. Fixes the issue of -Wno-maybe-uninitialized not being effective because -Wall was being placed after it rather than before. llvm-svn: 177866
* Enable -Wnon-virtual-dtor build warningAlexey Samsonov2013-03-191-0/+2
| | | | llvm-svn: 177385
* Turn anonymous type in anonymous union warning back on after cleaning upEric Christopher2013-03-151-2/+0
| | | | | | issues. llvm-svn: 177136
* Simplify CMake rules in HandleLLVMOptions module.Alexey Samsonov2013-03-131-27/+26
| | | | | | | | | | | | | | Summary: No functionality change. Reviewers: Bigcheese Reviewed By: Bigcheese CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D535 llvm-svn: 176973
* CMake: Always include the CheckCXXCompilerFlag in HandleLLVMOptions.cmake.Jordan Rose2013-03-021-1/+1
| | | | | | Previously we relied on it being included by config-ix.cmake. llvm-svn: 176396
* Use correct host/target CMake variables to define lit variables.Tim Northover2013-02-141-2/+2
| | | | | | | | | | | | | CMake and autotools disagree on what "host" means in a cross-compilation context. Autotools (and lit) take it to be the machine the binaries being compiled now will run on. CMake takes it to be the machine actually compiling the binaries now. This change makes lit.site-cfg more consistent between autotools and CMake, allowing lit tests (particularly in ExecutionEngine) to run correctly when cross-compiled with CMake llvm-svn: 175179
* Turn off uninitialized-use warnings for gcc in cmake buildEdwin Vane2013-02-041-0/+6
| | | | | | | | | | | | Added support to the cmake build to turn off uninitialized use warnings for gcc. This cleans the build up somewhat. Used logic simpler than found in autoconf by making use of the fact that although gcc won't complain about unsupported -Wno-* flags it *will* complain about unsupported -W flags. Reviewers: gribozavr, doug.gregor, chandlerc llvm-svn: 174299
* Add -Wno-nested-anon-types to -pedantic builds of LLVM. This Clang warningRichard Smith2013-01-311-0/+4
| | | | | | | | | | | | | | | | | | | catches uses of an extremely minor and widely-available C++ extension (which every C++ compiler I could find supports, but EDG and Clang reject in strict mode). The diagnosed code pattern looks like this: struct X { union { struct { int a; int b; } S; }; }; llvm-svn: 174103
* Turn off missing field initializer warnings for gccEdwin Vane2013-01-311-0/+13
| | | | | | | | | gcc produces false positives for empty braces so turning the warning off. Instead, turning the warning on for clang so proper warnings aren't missed. Reviewers: dblaikie, chandlerc llvm-svn: 174073
* [CMake][Lit][unittests] Cleanup in AddLLVM.cmake.NAKAMURA Takumi2013-01-271-8/+1
| | | | llvm-svn: 173617
* [CMake][Lit][unittests] Deprecate CMAKE_BUILD_TYPE in each build directory ↵NAKAMURA Takumi2013-01-272-23/+4
| | | | | | | | | | | | | | | | | | | | | | | | for unittests. For example, cur) unittests/ADT/Release/ADTTests new) unittests/ADT/ADTTests RUNTIME_BUILD_MODE can be substituted to CMAKE_CFG_INTDIR. With Make and Ninja, the tree is not built with multiple configurations. Then, including the build type in target directory doesn't make sense. See also "How can I build multiple modes without switching?" http://www.cmake.org/Wiki/CMake_FAQ CMAKE_CFG_INTDIR is set to "." With multiple-configuration-aware build system, like Visual Studio, each unittest is built on appropriate directory, for example, unittests/ADT/Release/ADTTests.exe CMAKE_CFG_INTDIR is set to build system's variable, like "$(Configuration)" or "$(OutDir)". Thus, "--param build_config" is also deprecated. llvm-svn: 173616
* Disable MSVC's warning about noreturn destructorsReid Kleckner2013-01-251-0/+1
| | | | | | | | | | | | This warning fires on: Operator::~Operator() { llvm_unreachable("should never destroy an Operator"); } That seems like a false positive. I don't see any good way to silence the warning here, so I'm disabling it. llvm-svn: 173455
* Add time getters to the process interface for requesting the elapsedChandler Carruth2013-01-041-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | wall time, user time, and system time since a process started. For walltime, we currently use TimeValue's interface and a global initializer to compute a close approximation of total process runtime. For user time, this adds support for an somewhat more precise timing mechanism -- clock_gettime with the CLOCK_PROCESS_CPUTIME_ID clock selected. For system time, we have to do a full getrusage call to extract the system time from the OS. This is expensive but unavoidable. In passing, clean up the implementation of the old APIs and fix some latent bugs in the Windows code. This might have manifested on Windows ARM systems or other systems with strange 64-bit integer behavior. The old API for this both user time and system time simultaneously from a single getrusage call. While this results in fewer system calls, it also results in a lower precision user time and if only user time is desired, it introduces a higher overhead. It may be worthwhile to switch some of the pass timers to not track system time and directly track user and wall time. The old API also tracked walltime in a confusing way -- it just set it to the current walltime rather than providing any measure of wall time since the process started the way buth user and system time are tracked. The new API is more consistent here. The plan is to eventually implement these methods for a *child* process by using the wait3(2) system call to populate an rusage struct representing the whole subprocess execution. That way, after waiting on a child process its stats will become accurate and cheap to query. llvm-svn: 171551
* [CMake] MSVC is incorrectly emitting C4239 in some cases. Disable it.Michael J. Spencer2013-01-031-1/+0
| | | | llvm-svn: 171430
* [CMake] AddLLVM.cmake: Tweak the corner case that "check-all" doesn't have ↵NAKAMURA Takumi2012-12-241-5/+11
| | | | | | | | | | | any tests. "check-all" can be executed with 0 status, "check-all does nothing, no tools built." LLVM_EXTERNAL_CLANG_BUILD=OFF LLVM_BUILD_TOOLS=OFF can reproduce this. Oscar Fuentes reported this. Thank you. llvm-svn: 171046
* Fix a typo introduced in r168577: FlAGS -> FLAGS (note the lowercase ell)Dmitri Gribenko2012-12-241-2/+2
| | | | | | Now we really pass -Wcovered-switch-default if the compiler supports it. llvm-svn: 171040
* CMake: factor out a function that returns the expected directory for unit testAlexey Samsonov2012-12-191-5/+11
| | | | llvm-svn: 170539
* CMake: Don't run 'git svn' if there is no .git/svn directory.Jim Grosbach2012-12-101-40/+42
| | | | | | | If the local checkout does not have 'git svn' references set up, don't try to use 'git svn' for version information. llvm-svn: 169749
* Removing SUPPORTS_COVERED_SWITCH_DEFAULT_FLAGJoe Abbey2012-11-261-3/+8
| | | | | | | | | | | | Adding CXX_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG C_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG This is to handle the wackiness on a Mac host where cmake detects: CMAKE_CXX_COMPILER == "/usr/bin/c++" CMAKE_C_COMPILER == "/usr/bin/gcc" llvm-svn: 168577
* CMake: Include private headers / tablegen files in generated Xcode projects.Jordan Rose2012-10-231-1/+1
| | | | llvm-svn: 166503
OpenPOWER on IntegriCloud