blob: 491614b4bf632c5e12bdd948578011d6897109ce [file] [log] [blame]
NAKAMURA Takumi13437e82014-11-07 16:08:19 +00001set(system_libs)
Ehsan Akhgari155ca8f2016-02-09 19:41:14 +00002if( MSVC OR MINGW )
3 # libuuid required for FOLDERID_Profile usage in lib/Support/Windows/Path.inc.
4 set(system_libs ${system_libs} psapi shell32 ole32 uuid)
5elseif( CMAKE_HOST_UNIX )
6 if( HAVE_LIBRT )
7 set(system_libs ${system_libs} rt)
8 endif()
9 if( HAVE_LIBDL )
10 set(system_libs ${system_libs} ${CMAKE_DL_LIBS})
11 endif()
Ed Mastee5443792017-04-12 13:51:00 +000012 if( HAVE_BACKTRACE )
13 set(system_libs ${system_libs} ${Backtrace_LIBRARIES})
14 endif()
Ehsan Akhgari155ca8f2016-02-09 19:41:14 +000015 if(LLVM_ENABLE_TERMINFO)
16 if(HAVE_TERMINFO)
17 set(system_libs ${system_libs} ${TERMINFO_LIBS})
NAKAMURA Takumi13437e82014-11-07 16:08:19 +000018 endif()
Ehsan Akhgari155ca8f2016-02-09 19:41:14 +000019 endif()
20 if( LLVM_ENABLE_THREADS AND HAVE_LIBATOMIC )
21 set(system_libs ${system_libs} atomic)
22 endif()
Eric Fiselier87c87f42017-02-10 01:59:20 +000023 set(system_libs ${system_libs} ${LLVM_PTHREAD_LIB})
Ehsan Akhgari155ca8f2016-02-09 19:41:14 +000024 if ( LLVM_ENABLE_ZLIB AND HAVE_LIBZ )
25 set(system_libs ${system_libs} z)
26 endif()
Renato Golin9590c532016-02-26 17:01:45 +000027 if( UNIX AND NOT (BEOS OR HAIKU) )
28 set(system_libs ${system_libs} m)
29 endif()
Ehsan Akhgari155ca8f2016-02-09 19:41:14 +000030endif( MSVC OR MINGW )
NAKAMURA Takumi13437e82014-11-07 16:08:19 +000031
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000032add_llvm_library(LLVMSupport
33 APFloat.cpp
34 APInt.cpp
35 APSInt.cpp
Saleem Abdulrasool278a9f42014-01-19 08:25:27 +000036 ARMBuildAttrs.cpp
Sam Parker34315ee2017-01-13 10:50:01 +000037 ARMAttributeParser.cpp
Saleem Abdulrasoolb3271032014-06-02 01:17:49 +000038 ARMWinEH.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000039 Allocator.cpp
Zachary Turnerd9dc2822017-03-02 20:52:51 +000040 BinaryStreamError.cpp
41 BinaryStreamReader.cpp
42 BinaryStreamWriter.cpp
Jakub Staszak49993f22011-07-25 22:24:51 +000043 BlockFrequency.cpp
Andrew Trick3d4e64b2011-06-11 01:05:22 +000044 BranchProbability.cpp
Mehdi Amini27814982016-04-02 03:28:26 +000045 CachePruning.cpp
Douglas Gregor3ab9e502009-12-23 17:03:46 +000046 circular_raw_ostream.cpp
Pavel Labath59838f72016-10-20 12:05:50 +000047 Chrono.cpp
Zachary Turnerc2055702015-04-27 17:19:26 +000048 COM.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000049 CommandLine.cpp
Alexey Samsonov2fb337e2013-04-23 08:28:39 +000050 Compression.cpp
Justin Lebar90910552016-09-30 00:38:45 +000051 ConvertUTF.cpp
Dmitri Gribenkob311f4e2013-01-30 12:05:05 +000052 ConvertUTFWrapper.cpp
Douglas Gregorb7b5a7d2010-07-28 17:17:46 +000053 CrashRecoveryContext.cpp
Benjamin Kramer88a1d9f2011-09-13 19:42:16 +000054 DataExtractor.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000055 Debug.cpp
Daniel Berlin25f1db12017-02-19 04:28:56 +000056 DebugCounter.cpp
Daniel Dunbarff53d462009-12-03 11:12:42 +000057 DeltaAlgorithm.cpp
Daniel Dunbar579ba2a2010-06-08 16:21:22 +000058 DAGDeltaAlgorithm.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000059 Dwarf.cpp
Lang Hamese7aad352016-03-23 23:57:28 +000060 Error.cpp
Mike Stump54731d52009-07-07 18:52:14 +000061 ErrorHandling.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000062 FileUtilities.cpp
Nick Kledzik5fce8c42012-08-01 02:29:50 +000063 FileOutputBuffer.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000064 FoldingSet.cpp
Ted Kremenek57da3ed2009-07-14 20:44:17 +000065 FormattedStream.cpp
Zachary Turner11db2642016-11-11 23:57:40 +000066 FormatVariadic.cpp
Rui Ueyamaf7a7ab52016-12-20 23:09:09 +000067 GlobPattern.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000068 GraphWriter.cpp
Chandler Carruth1d03a3b2012-03-01 18:55:25 +000069 Hashing.cpp
Jakob Stoklund Olesenbaee6552010-12-21 00:04:46 +000070 IntEqClasses.cpp
Jakob Stoklund Olesen345945e2010-11-19 04:47:19 +000071 IntervalMap.cpp
David Majnemer6ddc6362015-09-01 21:23:58 +000072 JamCRC.cpp
Logan Chiendbed91e2014-02-22 15:39:39 +000073 LEB128.cpp
Chandler Carruthf8c52812013-12-27 04:28:57 +000074 LineIterator.cpp
Seth Cantrell75dbcb82012-04-17 20:03:03 +000075 Locale.cpp
Douglas Gregor7039e352012-01-29 20:15:10 +000076 LockFileManager.cpp
Daniel Sanders52b4ce72017-03-07 23:20:35 +000077 LowLevelType.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000078 ManagedStatic.cpp
Yaron Keren7b4133a2014-09-27 14:41:29 +000079 MathExtras.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000080 MemoryBuffer.cpp
Eric Christopherdb142d42013-05-21 01:30:38 +000081 MD5.cpp
Zachary Turner733be512016-10-11 19:24:45 +000082 NativeFormatting.cpp
Chris Bieneman732e0aa2014-10-15 21:54:35 +000083 Options.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000084 PluginLoader.cpp
Duncan Sands96f52eb2009-03-05 09:19:13 +000085 PrettyStackTrace.cpp
JF Bastien144829d2014-06-25 15:21:42 +000086 RandomNumberGenerator.cpp
Ted Kremenek1543d132009-09-01 17:01:02 +000087 Regex.cpp
Duncan P. N. Exon Smith411840d2014-06-20 21:47:47 +000088 ScaledNumber.cpp
Zachary Turner88bb1632016-05-03 00:28:04 +000089 ScopedPrinter.cpp
Mehdi Amini4cd57022016-04-01 04:30:16 +000090 SHA1.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000091 SmallPtrSet.cpp
Chris Lattner4ea86c42009-12-16 08:44:24 +000092 SmallVector.cpp
Chris Lattnerfd255752009-06-21 03:41:50 +000093 SourceMgr.cpp
Alexey Samsonovb7dd3292014-07-09 19:40:08 +000094 SpecialCaseList.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000095 Statistic.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000096 StringExtras.cpp
97 StringMap.cpp
98 StringPool.cpp
Rafael Espindola454adf62015-06-13 12:49:52 +000099 StringSaver.cpp
Daniel Dunbar44981682009-09-16 22:38:48 +0000100 StringRef.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +0000101 SystemUtils.cpp
Rui Ueyama4bb7883f2017-01-06 02:29:48 +0000102 TarWriter.cpp
Renato Golinf5f373f2015-05-08 21:04:27 +0000103 TargetParser.cpp
Mehdi Amini33a7ea42015-12-15 00:59:19 +0000104 ThreadPool.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +0000105 Timer.cpp
John Thompsonf41f11c2010-10-07 23:12:15 +0000106 ToolOutputFile.cpp
Ivan Krasin3dade412016-12-01 02:54:54 +0000107 TrigramIndex.cpp
Douglas Gregorbbcf90f2009-05-27 16:52:17 +0000108 Triple.cpp
Daniel Dunbar0cf4e692009-07-24 07:04:49 +0000109 Twine.cpp
Alexander Kornienko9aa60fd2013-09-04 16:00:12 +0000110 Unicode.cpp
Michael J. Spencer22120c42012-04-03 23:09:22 +0000111 YAMLParser.cpp
Nick Kledzikf60a9272012-12-12 20:46:15 +0000112 YAMLTraits.cpp
Oscar Fuentesa5ff9e32009-08-25 00:02:29 +0000113 raw_os_ostream.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +0000114 raw_ostream.cpp
Torok Edwine14d4cd2009-08-30 08:24:09 +0000115 regcomp.c
116 regerror.c
117 regexec.c
118 regfree.c
119 regstrlcpy.c
Rafael Espindolaeaeb6d92016-09-27 15:45:57 +0000120 xxhash.cpp
Michael J. Spencer447762d2010-11-29 18:16:10 +0000121
122# System
Michael J. Spencer447762d2010-11-29 18:16:10 +0000123 Atomic.cpp
Michael J. Spencer447762d2010-11-29 18:16:10 +0000124 DynamicLibrary.cpp
125 Errno.cpp
126 Host.cpp
Michael J. Spencer447762d2010-11-29 18:16:10 +0000127 Memory.cpp
128 Mutex.cpp
Rafael Espindolaf1fc3822013-06-26 19:33:03 +0000129 Path.cpp
Michael J. Spencer447762d2010-11-29 18:16:10 +0000130 Process.cpp
131 Program.cpp
132 RWMutex.cpp
133 SearchForAddressOfSpecialSymbol.cpp
134 Signals.cpp
Evan Cheng2bb40352011-08-24 18:08:43 +0000135 TargetRegistry.cpp
Michael J. Spencer447762d2010-11-29 18:16:10 +0000136 ThreadLocal.cpp
137 Threading.cpp
Michael J. Spencer447762d2010-11-29 18:16:10 +0000138 Valgrind.cpp
Nick Lewycky8d971622013-03-26 01:29:15 +0000139 Watchdog.cpp
NAKAMURA Takumi6acf3202014-01-20 10:20:23 +0000140
Zachary Turneraeedd652015-02-10 05:04:37 +0000141 ADDITIONAL_HEADER_DIRS
142 Unix
143 Windows
Pete Cooper067ee5b2016-08-22 20:38:53 +0000144 ${LLVM_MAIN_INCLUDE_DIR}/llvm/ADT
Zachary Turner3bd47ce2015-02-11 03:28:02 +0000145 ${LLVM_MAIN_INCLUDE_DIR}/llvm/Support
Ed Mastee5443792017-04-12 13:51:00 +0000146 ${Backtrace_INCLUDE_DIRS}
NAKAMURA Takumi13437e82014-11-07 16:08:19 +0000147 LINK_LIBS ${system_libs}
Oscar Fuentesa229b3c2008-09-22 01:08:49 +0000148 )
NAKAMURA Takumi4ca51b92014-02-26 12:18:55 +0000149
NAKAMURA Takumiaf2c1132014-02-23 06:27:04 +0000150set_property(TARGET LLVMSupport PROPERTY LLVM_SYSTEM_LIBS "${system_libs}")