summaryrefslogtreecommitdiffstats
path: root/llvm/cmake/modules
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* [CMake] add_lit_testsuite: EXCLUDE_FROM_ALL excludes the test ${target} out ↵NAKAMURA Takumi2012-10-101-5/+8
| | | | | | of check-all. llvm-svn: 165618
* [CMake] Enhance add_llvm_external_project.NAKAMURA Takumi2012-10-051-3/+9
| | | | | | | | | | | | - Substitute hyphen to underscore, s/-/_/g, as the variable name. - Additional parameter can be specified as the name of directory. e.g.) add_llvm_external_project(clang-tools-extra extra) - LLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR=/path/to/llvm-srcroot/tools/clang/tools/extra, by default. - Build directory is in ${CMAKE_CURRENT_BINARY_DIR}/extra llvm-svn: 165311
* [CMake] add_lit_target: Remove comments about add_dependencies. It is not a ↵NAKAMURA Takumi2012-08-041-5/+0
| | | | | | bug in cmake that add_custom_target(DEPENDS) would not accept targets but file-level dependencies. llvm-svn: 161295
* detabifyGabor Greif2012-07-121-2/+2
| | | | llvm-svn: 160128
* LLVMConfig.cmake.in: Quote around @LLVM_INSTALL_PREFIX@, or it would not ↵NAKAMURA Takumi2012-07-071-1/+1
| | | | | | | | accept whitespace paths. Thanks to Kai. llvm-svn: 159887
* Revert r159588, and apply a more principled fix. Place the fix for thisChandler Carruth2012-07-021-1/+6
| | | | | | | | | | | | in the abstraction for lit test suites so that the various other layers of abstraction pick up the same behavioral fix, and so that we still get a complete list of dependencies for the 'check-all' target. This should fix the follow-on issues of the same nature with various other build targets, including Clang targets. Sorry for the churn, and again thanks to Matt for testing and breaking this more thoroughly. llvm-svn: 159593
* Switch from using a lit.cfg-generator variable that happens to be foundChandler Carruth2012-07-021-1/+1
| | | | | | | | | due to strange scoping rules to the actual canonical variable name within the LLVM CMake build. No functionality changed. llvm-svn: 159575
* Hoist LLVM's lit testsuite infrastructure into module so that it can beChandler Carruth2012-06-301-0/+43
| | | | | | | | | re-used. Also, build in direct support for accumulating a set of lit parameters, arguments, and testsuites to run as part of a 'check-all' rule. This sinks 'check-all' from a Clang-specific construct to a generic construct of the project. llvm-svn: 159482
OpenPOWER on IntegriCloud