blob: e6637813cd562e0a0a9450a756d2376746b253fa [file] [log] [blame]
Michael J. Spencer2670c252011-01-20 06:39:06 +00001# NOTE: The tools are organized into groups of four consisting of one large and
2# three small executables. This is done to minimize memory load in parallel
3# builds. Please retain this ordering.
Oscar Fuentesa229b3c2008-09-22 01:08:49 +00004
Michael J. Spencer93c9b2e2010-09-13 23:59:48 +00005if( NOT WIN32 OR MSYS OR CYGWIN )
Daniel Dunbarab0ad4e2011-12-01 20:18:09 +00006 # We currently require 'sed' to build llvm-config, so don't try to build it
Duncan Sandsb8e6cee2011-12-01 10:50:19 +00007 # on pure Win32.
Daniel Dunbarab0ad4e2011-12-01 20:18:09 +00008 add_subdirectory(llvm-config)
Michael J. Spencer93c9b2e2010-09-13 23:59:48 +00009endif()
10
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000011add_subdirectory(opt)
12add_subdirectory(llvm-as)
13add_subdirectory(llvm-dis)
Chris Lattner8dd8a522009-06-18 23:04:45 +000014add_subdirectory(llvm-mc)
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000015
16add_subdirectory(llc)
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000017add_subdirectory(llvm-ar)
18add_subdirectory(llvm-nm)
Michael J. Spencerc4ad4662011-09-28 20:57:46 +000019add_subdirectory(llvm-size)
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000020
Duncan Sands851e9482011-12-07 20:54:41 +000021add_subdirectory(llvm-cov)
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000022add_subdirectory(llvm-prof)
23add_subdirectory(llvm-link)
24add_subdirectory(lli)
25
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000026add_subdirectory(llvm-extract)
John McCall5ee026c2010-08-24 09:16:51 +000027add_subdirectory(llvm-diff)
Daniel Dunbarfdfb6352010-11-27 05:58:44 +000028add_subdirectory(macho-dump)
Michael J. Spencer2670c252011-01-20 06:39:06 +000029add_subdirectory(llvm-objdump)
David Meyer2fc34c52012-03-01 01:36:50 +000030add_subdirectory(llvm-readobj)
Jim Grosbach0072cdb2011-03-18 17:11:39 +000031add_subdirectory(llvm-rtdyld)
Benjamin Krameraa2f78f2011-09-13 19:42:23 +000032add_subdirectory(llvm-dwarfdump)
Andrew Kaylor93fe3dc2012-11-21 20:38:26 +000033if( LLVM_USE_INTEL_JITEVENTS )
34 add_subdirectory(llvm-jitlistener)
35endif( LLVM_USE_INTEL_JITEVENTS )
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000036
37add_subdirectory(bugpoint)
Rafael Espindola414de852010-08-08 00:50:57 +000038add_subdirectory(bugpoint-passes)
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000039add_subdirectory(llvm-bcanalyzer)
Nadav Rotem78bda892012-02-26 08:35:53 +000040add_subdirectory(llvm-stress)
Jim Grosbachacd88012012-10-31 23:24:13 +000041add_subdirectory(llvm-mcmarkup)
Oscar Fuentese638f5d2008-10-26 00:52:09 +000042
Alexander Potapenko8c07f552012-11-12 11:33:29 +000043add_subdirectory(llvm-symbolizer)
44
Rafael Espindola87a02902013-04-05 02:57:22 +000045add_subdirectory(obj2yaml)
Rafael Espindola3add3e92013-04-05 20:00:35 +000046add_subdirectory(yaml2obj)
Rafael Espindola87a02902013-04-05 02:57:22 +000047
Oscar Fuentesac824ee2011-03-13 03:06:59 +000048if( NOT WIN32 )
49 add_subdirectory(lto)
50endif()
51
Chandler Carruth3f7b5812011-04-28 08:18:22 +000052if( LLVM_ENABLE_PIC )
53 # TODO: support other systems:
Rafael Espindolabd5bd892013-03-17 12:01:05 +000054 if( (CMAKE_SYSTEM_NAME STREQUAL "Linux")
55 OR (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") )
Chandler Carruth3f7b5812011-04-28 08:18:22 +000056 add_subdirectory(gold)
57 endif()
58endif()
59
Michael J. Spencere734f542012-04-26 19:43:35 +000060add_llvm_external_project(clang)
Andy Gibbs3ef5ed12013-06-26 08:05:08 +000061
62if( NOT LLVM_INCLUDE_TOOLS STREQUAL "bootstrap-only" )
63 add_llvm_external_project(lld)
64 add_llvm_external_project(lldb)
65 add_llvm_external_project(polly)
66endif()
Michael J. Spencer93c9b2e2010-09-13 23:59:48 +000067
68set(LLVM_COMMON_DEPENDS ${LLVM_COMMON_DEPENDS} PARENT_SCOPE)