summaryrefslogtreecommitdiff
path: root/cmake
Commit message (Collapse)AuthorAge
* [CMake] Add a comment to tablegen's copy_if_different. Ninja reports every ↵NAKAMURA Takumi2014-01-12
| | | | | | action by default. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199058 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: Provide LLVM_PLUGIN_EXT definitionAlp Toker2014-01-08
| | | | | | | | | | | | | | | This is needed to support the addition of tests for clang loadable plugins. In clang, plugins are built as modules (bundles on OS X) rather than dynamic libraries (dylib) so the build system needs to inform lit of the actual file extension in use, typically '.so' on Unix and '.dll' on Windows. (LLVM itself should probably switch to this scheme to fix PR14903 once and for all.) No change in build output or functionality intended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198746 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] Introduce llvm_update_compile_flags(target_name) to update compile ↵NAKAMURA Takumi2014-01-07
| | | | | | | | | flags in target properties. FIXME: Just add_unittest() is using it. FIXME: Cooperate with source properties. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198683 91177308-0d34-0410-b5e6-96231b3b80d8
* Introduce a cmake LLVM_ENABLE_LIBCXX build parameter to compile using libc++ ↵Jean-Daniel Dupas2014-01-06
| | | | | | | | | | | | | | instead of the system default Summary: This parameter is required to build C++11 projects (like lld or lldb) on OS X as the default STL does not provide c++ classes. CC: llvm-commits, triton Differential Revision: http://llvm-reviews.chandlerc.com/D2381 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198625 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a FIXME.Nico Weber2014-01-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198528 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] Add missing set_output_directory after Takumi's change in r198205.Jordan Rose2014-01-02
| | | | | | | | | Plugins need to go in build/Debug/lib as well (rather than build/lib/Debug). Also, fix the SHLIBDIR path for Xcode, which by default includes Xcode build settings rather than a simple %(build_mode)s parameter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198344 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake separate projects: use correct name for ↵Douglas Gregor2014-01-02
| | | | | | LIBRARY_OUTPUT_DIRECTORY_${suffix}. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198335 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove CMake-Xcode hack that symlinked llvm-config into a common place.Douglas Gregor2014-01-02
| | | | | | | | When building Clang separately from LLVM with CMake, one should set the path of llvm-config via the cache variable LLVM_CONFIG. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198316 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake][VS][XCode] Restruct the output directory layout more comfortable, ↵NAKAMURA Takumi2013-12-30
| | | | | | | | | | | | | | | | | | | ${BINARY_DIR}/${BUILD_MODE}/(bin|lib) We have been seeing nasty directory layout with CMake multiconfig, such as, bin/Release/clang.exe lib/clang/3.x/... lib/Release/clang/3.x/.. (duplicated) Move the layout similar to autoconf's; Release/bin/clang.exe Release/lib/clang/3.x/... Checked on Visual Studio 10. Could you guys please confirm my change on XCode(and other multiconfig builders)? Note: Don't set variables CMAKE_*_OUTPUT_DIRECTORY any more, or a certain builder, for eaxample, msbuild.exe, would be confused. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198205 91177308-0d34-0410-b5e6-96231b3b80d8
* Visual C++ does not support -ffunction-sections -fdata-sections.Yaron Keren2013-12-30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198203 91177308-0d34-0410-b5e6-96231b3b80d8
* Port r198087 and r198089 (strip dead code by default) from make to cmake.Nico Weber2013-12-30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198198 91177308-0d34-0410-b5e6-96231b3b80d8
* [cmake] In add_llvm_loadable_module, don't clobber existing LINK_FLAGS on OS X.Nico Weber2013-12-29
| | | | | | | | Also add leading spaces to the LINK_FLAGS setters, since that's what the cmake folks recommend: http://www.cmake.org/pipermail/cmake/2012-October/052399.html git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198182 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix mis-merging in AddLLVM.cmake, take #2. LINK.EXE's options had been ↵NAKAMURA Takumi2013-12-29
| | | | | | broken. Sorry again. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198169 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix mis-merging in AddLLVM.cmake. Sorry.NAKAMURA Takumi2013-12-29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198166 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] Fix add_llvm_loadble_module.NAKAMURA Takumi2013-12-29
| | | | | | Thanks to Edward-san, to let me know. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198165 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] add_llvm_symbol_exports: Use unique name for each target.NAKAMURA Takumi2013-12-29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198164 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] add_llvm_symbol_exports: Use ${native_export_file} instead of ↵NAKAMURA Takumi2013-12-29
| | | | | | equivalent constant "symbol.*', since it is defined. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198163 91177308-0d34-0410-b5e6-96231b3b80d8
* Yet another attempt at getting cmake-clang-i686-mingw32 green.Nico Weber2013-12-29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198159 91177308-0d34-0410-b5e6-96231b3b80d8
* Windows build fixes, hopefully last part.Nico Weber2013-12-29
| | | | | | | | r198153 fixed the msvs bot problem, but broke a msysgit bot. This change hopefully makes both variants happy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198156 91177308-0d34-0410-b5e6-96231b3b80d8
* Another windows build fix attempt.Nico Weber2013-12-29
| | | | | | | Inspired by http://public.kitware.com/pipermail/cmake-developers/2012-March/003768.html git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198153 91177308-0d34-0410-b5e6-96231b3b80d8
* More windows build fix attempts.Nico Weber2013-12-29
| | | | | | | | | The windows ninja build is now green, but msvs is still unhappy. Maybe that's because the .def file was passed when building LTO_static, so only pass symbol lists for shared libraries. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198151 91177308-0d34-0410-b5e6-96231b3b80d8
* The same we do every commit, Pinky: Try to fix the windows build (after ↵Nico Weber2013-12-29
| | | | | | r198136). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198148 91177308-0d34-0410-b5e6-96231b3b80d8
* Another windows build fix attempt after r198136.Nico Weber2013-12-29
| | | | | | | The current quoting is stripped by cmake, try quoting more. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198143 91177308-0d34-0410-b5e6-96231b3b80d8
* Try to fix windows build more after r198136.Nico Weber2013-12-29
| | | | | | | | | | The command that cmd.exe is complaining about is: cmd.exe /c cd /D C:\bb-win7\cmake-clang-i686-mingw32\build\tools\lto && cmake -E echo EXPORTS > symbol.def && type C:/bb-win7/cmake-clang-i686-mingw32/llvm-project/llvm/tools/lto/lto.exports >> symbol.def Maybe quoting the filename helps. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198140 91177308-0d34-0410-b5e6-96231b3b80d8
* Use `${CMAKE_COMMAND}` instead of `cmake`.Nico Weber2013-12-29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198139 91177308-0d34-0410-b5e6-96231b3b80d8
* Try to fix windows build after r198136.Nico Weber2013-12-28
| | | | | | | `type` can't read from stdin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198138 91177308-0d34-0410-b5e6-96231b3b80d8
* Try to fix linux build after r198136.Nico Weber2013-12-28
| | | | | | | $ needs to be written $$ in makefiles, but not in cmakefiles. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198137 91177308-0d34-0410-b5e6-96231b3b80d8
* EXPORTED_SYMBOL_FILE support for cmakeNico Weber2013-12-28
| | | | | | | | | | | | | | The cmake build didn't support EXPORTED_SYMBOL_FILE. Instead, it had a Windows-only implementation in tools/lto/CMakeLists.txt, a linux-only implementation in tools/gold/CMakeLists.txt, and a darwin-only implementation in tools/clang/tools/libclang/CMakeLists.txt. This attempts to consolidate these one-offs into a single place. Clients can now just set LLVM_EXPORTED_SYMBOL_FILE and things (hopefully) Just Work, like in the make build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198136 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove windows newlines.Nico Weber2013-12-28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198135 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix documentation typosAlp Toker2013-12-20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197757 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r197682, "[CMake] Introduce LIT in add_lit_target."NAKAMURA Takumi2013-12-19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197703 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] Introduce LIT in add_lit_target.NAKAMURA Takumi2013-12-19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197682 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] Don't put every project's tblgen executable in the LLVM bin directory.Jordan Rose2013-12-18
| | | | | | | | | This changes Clang standalone builds so that clang-tblgen lives in clang/build/bin instead of llvm/build/bin, and so that with the Xcode generator it's in clang/build/bin/Debug instead of llvm/build/bin/Debug/Debug/. Yes, really. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197590 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] Prune LLVM_TOOLS_BINARY_DIR in LLVMConfig.cmake, since it always ↵NAKAMURA Takumi2013-12-18
| | | | | | points build directory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197581 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] ${LLVM_MAIN_SRC_DIR}/include can be represented as ↵NAKAMURA Takumi2013-12-16
| | | | | | ${LLVM_MAIN_INCLUDE_DIR}. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197396 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] Introduce LLVM_RUNTIME_OUTPUT_INTDIR and LLVM_LIBRARY_OUTPUT_INTDIR ↵NAKAMURA Takumi2013-12-16
| | | | | | | | | | to reduce references to CMAKE_CFG_INTDIR. Each of them forms like; ${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR} ${CMAKE_BINARY_DIR}/lib/${CMAKE_CFG_INTDIR} git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197394 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] add_lit_target: Let lit.site.cfg free from "--param build_mode" on ↵NAKAMURA Takumi2013-12-04
| | | | | | single configuration builds, like autoconf build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196377 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] add_lit_target: Tests should be excluded from "Build Solution".NAKAMURA Takumi2013-12-02
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196093 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] Let add_public_tablegen_target() provide intrinsics_gen, too.NAKAMURA Takumi2013-11-28
| | | | | | | | | | I think, in principle, intrinsics_gen may be added explicitly. That said, it can be added incidentally, since each target already has dependencies to llvm-tblgen. Almost all source files depend on both CommonTaleGen and intrinsics_gen. Explicit add_dependencies() have been pruned under lib/Target. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195929 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] Let add_public_tablegen_target responsible to provide dependency to ↵NAKAMURA Takumi2013-11-28
| | | | | | | | | CommonTableGen. add_public_tablegen_target adds *CommonTableGen to LLVM_COMMON_DEPENDS. LLVM_COMMON_DEPENDS affects add_llvm_library (and other add_target stuff) within its scope. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195927 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake : optionaly enable LLVM to be compiled with -std=c++11 (default: off)Arnaud A. de Grandmaison2013-11-26
| | | | | | | | | | In some case, it may be required to build LLVM in C++11 mode, as some the subprojects (like lldb) requires it. This mimics the autoconf behaviour. However, given the discussions on the switch to C++11 of the codebase, this behaviour should evolve to default to C++11 with some checks of the compiler capabilities. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195727 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert my CMake patches concerning building with /MT (r194589, r194596)Hans Wennborg2013-11-13
| | | | | | 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-13
| | | | | | | | | | | | | 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-13
| | | | | | | | | | | (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-19
| | | | 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-17
| | | | | | | | | | | 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-17
| | | | | | | | | | 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-07
| | | | | | | | | 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-07
| | | | | | | | 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-06
| | | | | | | | 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