- Oct 05, 2012
-
-
NAKAMURA Takumi authored
- 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
-
- Aug 04, 2012
-
-
NAKAMURA Takumi authored
[CMake] add_lit_target: Remove comments about add_dependencies. It is not a bug in cmake that add_custom_target(DEPENDS) would not accept targets but file-level dependencies. llvm-svn: 161295
-
- Jul 12, 2012
-
-
Gabor Greif authored
llvm-svn: 160128
-
- Jul 02, 2012
-
-
Chandler Carruth authored
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
-
Chandler Carruth authored
due to strange scoping rules to the actual canonical variable name within the LLVM CMake build. No functionality changed. llvm-svn: 159575
-
- Jun 30, 2012
-
-
Chandler Carruth authored
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
-
- Jun 29, 2012
-
-
Chandler Carruth authored
only used in the Clang tree, but it seems reasonable to support. llvm-svn: 159399
-
- Jun 28, 2012
-
-
Chandler Carruth authored
a dedicated helper function. This will enable re-using the same logic for Clang's lit setup, etc. llvm-svn: 159333
-
- Jun 21, 2012
-
-
Chandler Carruth authored
restore support for CMake versions before 2.8.6 -- sorry for the trouble! llvm-svn: 158930
-
Chandler Carruth authored
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. llvm-svn: 158909
-
Chandler Carruth authored
a helper function in CMake. This will allow us to share all of this logic with Clang, and eventually CompilerRT. llvm-svn: 158896
-
Chandler Carruth authored
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. llvm-svn: 158889
-
- Apr 26, 2012
-
-
Michael J. Spencer authored
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. llvm-svn: 155654
-
- Nov 29, 2011
-
-
Daniel Dunbar authored
llvm-svn: 145420
-
Daniel Dunbar authored
- 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. llvm-svn: 145355
-
- Jul 30, 2011
-
-
Chandler Carruth authored
sub-library for the targets depended on the core target CodeGen library. This completely undermined the careful work to separate the those libraries, especially the MC-layer ones. This surfaced as circular dependencies when the libraries were built as shared libraries where CMake doesn't allow cycles. This should fix PR10537. I'll watch the bots to see if there is fallout on other platforms. llvm-svn: 136565
-
Chandler Carruth authored
globally scoped constructs. Also, round-trip these dependencies through the LLVMConfig.cmake.in file thata is used by CMake-based clients of "installed" (or built) LLVM trees. llvm-svn: 136543
-
- Jul 29, 2011
-
-
Chandler Carruth authored
specified in the same file that the library itself is created. This is more idiomatic for CMake builds, and also allows us to correctly specify dependencies that are missed due to bugs in the GenLibDeps perl script, or change from compiler to compiler. On Linux, this returns CMake to a place where it can relably rebuild several targets of LLVM. I have tried not to change the dependencies from the ones in the current auto-generated file. The only places I've really diverged are in places where I was seeing link failures, and added a dependency. The goal of this patch is not to start changing the dependencies, merely to move them into the correct location, and an explicit form that we can control and change when necessary. This also removes a serialization point in the build because we don't have to scan all the libraries before we begin building various tools. We no longer have a step of the build that regenerates a file inside the source tree. A few other associated cleanups fall out of this. This isn't really finished yet though. After talking to dgregor he urged switching to a single CMake macro to construct libraries with both sources and dependencies in the arguments. Migrating from the two macros to that style will be a follow-up patch. Also, llvm-config is still generated with GenLibDeps.pl, which means it still has slightly buggy dependencies. The internal CMake 'llvm-config-like' macro uses the correct explicitly specified dependencies however. A future patch will switch llvm-config generation (when using CMake) to be based on these deps as well. This may well break Windows. I'm getting a machine set up now to dig into any failures there. If anyone can chime in with problems they see or ideas of how to solve them for Windows, much appreciated. llvm-svn: 136433
-
- Jul 26, 2011
-
-
Chandler Carruth authored
The first problem to fix is to stop creating synthetic *Table_gen targets next to all of the LLVM libraries. These had no real effect as CMake specifies that add_custom_command(OUTPUT ...) directives (what the 'tablegen(...)' stuff expands to) are implicitly added as dependencies to all the rules in that CMakeLists.txt. These synthetic rules started to cause problems as we started more and more heavily using tablegen files from *subdirectories* of the one where they were generated. Within those directories, the set of tablegen outputs was still available and so these synthetic rules added them as dependencies of those subdirectories. However, they were no longer properly associated with the custom command to generate them. Most of the time this "just worked" because something would get to the parent directory first, and run tablegen there. Once run, the files existed and the build proceeded happily. However, as more and more subdirectories have started using this, the probability of this failing to happen has increased. Recently with the MC refactorings, it became quite common for me when touching a large enough number of targets. To add insult to injury, several of the backends *tried* to fix this by adding explicit dependencies back to the parent directory's tablegen rules, but those dependencies didn't work as expected -- they weren't forming a linear chain, they were adding another thread in the race. This patch removes these synthetic rules completely, and adds a much simpler function to declare explicitly that a collection of tablegen'ed files are referenced by other libraries. From that, we can add explicit dependencies from the smaller libraries (such as every architectures Desc library) on this and correctly form a linear sequence. All of the backends are updated to use it, sometimes replacing the existing attempt at adding a dependency, sometimes adding a previously missing dependency edge. Please let me know if this causes any problems, but it fixes a rather persistent and problematic source of build flakiness on our end. llvm-svn: 136023
-
- Jul 25, 2011
-
-
Oscar Fuentes authored
header search path. llvm-svn: 135952
-
Oscar Fuentes authored
tablegenning to all libraries and executables. llvm-svn: 135908
-
- Apr 29, 2011
-
-
Nick Lewycky authored
under cmake). Add libprofile_rt.a so that we can tell clang to link against it in --coverage mode. Also turn it on by default in cmake builds. Oscar, this touches a change you made for EXCLUDE_FROM_ALL support -- I think I've done the right thing, but please let me know (or fix and commit) if not! llvm-svn: 130470
-
- Apr 26, 2011
-
-
Oscar Fuentes authored
llvm-svn: 130199
-
- Apr 05, 2011
-
-
Oscar Fuentes authored
scheme is used by the functionality related to find_package. llvm-svn: 128889
-
- Mar 29, 2011
-
-
Oscar Fuentes authored
unnecesary conditionals and introduced a new convenience function. The problem was that the list of libraries for Clang's unit tests was <clang libraries> <system libraries> <llvm libraries>. As the llvm libraries references symbols defined on the system libraries, those were reported as undefined. llvm-svn: 128484
-
- Mar 21, 2011
-
-
Oscar Fuentes authored
Tested that MinGW/MSYS builds fine without that. llvm-svn: 128033
-
- Mar 12, 2011
-
-
Oscar Fuentes authored
link command. Fixed a pair of IF expressions too. llvm-svn: 127546
-
- Feb 22, 2011
-
-
Oscar Fuentes authored
llvm-svn: 126224
-
- Feb 20, 2011
-
-
Oscar Fuentes authored
Requires CMake 2.8.3 or newer. llvm-svn: 126092
-
Oscar Fuentes authored
of testing for its presence at cmake time. This way the build automatically regenerates the makefiles when a svn update brings in a new sublibrary. llvm-svn: 126068
-
- Feb 18, 2011
-
-
Oscar Fuentes authored
llvm-svn: 125968
-
- Dec 22, 2010
-
-
Oscar Fuentes authored
Patch by Wesley Peck! llvm-svn: 122395
-
- Dec 10, 2010
-
-
NAKAMURA Takumi authored
cmake/modules/AddLLVM.cmake: Add empty "phony" target in add_llvm_loadable_module() even if loadable module were not supported. llvm-svn: 121455
-
- Oct 22, 2010
-
-
Oscar Fuentes authored
llvm-svn: 117130
-
- Oct 14, 2010
-
-
Oscar Fuentes authored
PR 8375 llvm-svn: 116479
-
- Sep 25, 2010
-
-
Oscar Fuentes authored
available targets unless LLVM_INCLUDE_X is ON. LLVM_BUILD_X implies LLVM_INCLUDE_X" It breaks the configuration phase when cmake is invoked without parameters, it is too complex for the purpose and introduces an incovenience for the user (as both LLVM_BUILD_X and LLVM_INCLUDE_X must set to OFF for not including X on the build) llvm-svn: 114795
-
- Sep 24, 2010
-
-
Michael J. Spencer authored
unless LLVM_INCLUDE_X is ON. LLVM_BUILD_X implies LLVM_INCLUDE_X llvm-svn: 114747
-
- Sep 14, 2010
-
-
Michael J. Spencer authored
This reverts commit r113632 Conflicts: cmake/modules/AddLLVM.cmake llvm-svn: 113819
-
- Sep 11, 2010
-
-
Michael J. Spencer authored
llvm-svn: 113676
-
- Sep 10, 2010
-
-
Michael J. Spencer authored
llvm-svn: 113632
-