blob: c9c5a1fdfa083db426996593807812b6ecd2b1f5 [file] [log] [blame]
Chris Bieneman86b1fd72015-07-13 20:30:58 +00001add_llvm_tool_subdirectory(llvm-config)
Michael J. Spencer93c9b2e2010-09-13 23:59:48 +00002
Sebastian Popa59005b2014-03-14 04:04:14 +00003# Build polly before the tools: the tools link against polly when
4# LINK_POLLY_INTO_TOOLS is set.
5if(WITH_POLLY)
6 add_llvm_external_project(polly)
Chris Bieneman86b1fd72015-07-13 20:30:58 +00007else(WITH_POLLY)
8 list(APPEND LLVM_IMPLICIT_PROJECT_IGNORE "${LLVM_MAIN_SRC_DIR}/tools/polly")
9endif(WITH_POLLY)
10
11if( LLVM_BUILD_LLVM_DYLIB )
12 add_llvm_tool_subdirectory(llvm-shlib)
NAKAMURA Takumie1e52742014-11-10 15:03:02 +000013else()
Chris Bieneman86b1fd72015-07-13 20:30:58 +000014 ignore_llvm_tool_subdirectory(llvm-shlib)
NAKAMURA Takumie1e52742014-11-10 15:03:02 +000015endif()
16
Chris Bieneman86b1fd72015-07-13 20:30:58 +000017add_llvm_tool_subdirectory(opt)
18add_llvm_tool_subdirectory(llvm-as)
19add_llvm_tool_subdirectory(llvm-dis)
20add_llvm_tool_subdirectory(llvm-mc)
21
22add_llvm_tool_subdirectory(llc)
23add_llvm_tool_subdirectory(llvm-ar)
24add_llvm_tool_subdirectory(llvm-nm)
25add_llvm_tool_subdirectory(llvm-size)
26
27add_llvm_tool_subdirectory(llvm-cov)
28add_llvm_tool_subdirectory(llvm-profdata)
29add_llvm_tool_subdirectory(llvm-link)
30add_llvm_tool_subdirectory(lli)
31
32add_llvm_tool_subdirectory(llvm-extract)
33add_llvm_tool_subdirectory(llvm-diff)
34add_llvm_tool_subdirectory(macho-dump)
35add_llvm_tool_subdirectory(llvm-objdump)
36add_llvm_tool_subdirectory(llvm-readobj)
37add_llvm_tool_subdirectory(llvm-rtdyld)
38add_llvm_tool_subdirectory(llvm-dwarfdump)
39add_llvm_tool_subdirectory(dsymutil)
40add_llvm_tool_subdirectory(llvm-cxxdump)
41if( LLVM_USE_INTEL_JITEVENTS )
42 add_llvm_tool_subdirectory(llvm-jitlistener)
43else()
44 ignore_llvm_tool_subdirectory(llvm-jitlistener)
45endif( LLVM_USE_INTEL_JITEVENTS )
46
47add_llvm_tool_subdirectory(bugpoint)
48add_llvm_tool_subdirectory(bugpoint-passes)
49add_llvm_tool_subdirectory(llvm-bcanalyzer)
50add_llvm_tool_subdirectory(llvm-stress)
51add_llvm_tool_subdirectory(llvm-mcmarkup)
52
53add_llvm_tool_subdirectory(verify-uselistorder)
54
55add_llvm_tool_subdirectory(llvm-symbolizer)
56
57add_llvm_tool_subdirectory(llvm-c-test)
58
59add_llvm_tool_subdirectory(obj2yaml)
60add_llvm_tool_subdirectory(yaml2obj)
61
62add_llvm_tool_subdirectory(llvm-go)
63
64add_llvm_tool_subdirectory(llvm-pdbdump)
65
66if(NOT CYGWIN AND LLVM_ENABLE_PIC)
67 add_llvm_tool_subdirectory(lto)
68 add_llvm_tool_subdirectory(llvm-lto)
69else()
70 ignore_llvm_tool_subdirectory(lto)
71 ignore_llvm_tool_subdirectory(llvm-lto)
Oscar Fuentesac824ee2011-03-13 03:06:59 +000072endif()
73
Chris Bieneman86b1fd72015-07-13 20:30:58 +000074add_llvm_tool_subdirectory(gold)
Chandler Carruth3f7b5812011-04-28 08:18:22 +000075
Chris Bieneman86b1fd72015-07-13 20:30:58 +000076add_llvm_external_project(clang)
77add_llvm_external_project(llgo)
78add_llvm_external_project(lld)
79add_llvm_external_project(lldb)
Andy Gibbs3ef5ed12013-06-26 08:05:08 +000080
Chris Bieneman69533a52015-06-22 21:58:02 +000081# Automatically add remaining sub-directories containing a 'CMakeLists.txt'
82# file as external projects.
Chris Bieneman86b1fd72015-07-13 20:30:58 +000083add_llvm_implicit_external_projects()
Michael J. Spencer93c9b2e2010-09-13 23:59:48 +000084
85set(LLVM_COMMON_DEPENDS ${LLVM_COMMON_DEPENDS} PARENT_SCOPE)