blob: 0a8e3897cce92bee0d9e72e8d75c8e5e65476602 [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
Konstantin Zhuravlyov1e2b8782017-06-06 18:35:50 +000033 AMDGPUCodeObjectMetadata.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000034 APFloat.cpp
35 APInt.cpp
36 APSInt.cpp
Saleem Abdulrasool278a9f42014-01-19 08:25:27 +000037 ARMBuildAttrs.cpp
Sam Parker34315ee2017-01-13 10:50:01 +000038 ARMAttributeParser.cpp
Saleem Abdulrasoolb3271032014-06-02 01:17:49 +000039 ARMWinEH.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000040 Allocator.cpp
Zachary Turnerd9dc2822017-03-02 20:52:51 +000041 BinaryStreamError.cpp
42 BinaryStreamReader.cpp
Zachary Turnerd9a62632017-05-17 20:23:31 +000043 BinaryStreamRef.cpp
Zachary Turnerd9dc2822017-03-02 20:52:51 +000044 BinaryStreamWriter.cpp
Jakub Staszak49993f22011-07-25 22:24:51 +000045 BlockFrequency.cpp
Andrew Trick3d4e64b2011-06-11 01:05:22 +000046 BranchProbability.cpp
Mehdi Amini27814982016-04-02 03:28:26 +000047 CachePruning.cpp
Douglas Gregor3ab9e502009-12-23 17:03:46 +000048 circular_raw_ostream.cpp
Pavel Labath59838f72016-10-20 12:05:50 +000049 Chrono.cpp
Zachary Turnerc2055702015-04-27 17:19:26 +000050 COM.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000051 CommandLine.cpp
Alexey Samsonov2fb337e2013-04-23 08:28:39 +000052 Compression.cpp
Justin Lebar90910552016-09-30 00:38:45 +000053 ConvertUTF.cpp
Dmitri Gribenkob311f4e2013-01-30 12:05:05 +000054 ConvertUTFWrapper.cpp
Douglas Gregorb7b5a7d2010-07-28 17:17:46 +000055 CrashRecoveryContext.cpp
Benjamin Kramer88a1d9f2011-09-13 19:42:16 +000056 DataExtractor.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000057 Debug.cpp
Daniel Berlin25f1db12017-02-19 04:28:56 +000058 DebugCounter.cpp
Daniel Dunbarff53d462009-12-03 11:12:42 +000059 DeltaAlgorithm.cpp
Daniel Dunbar579ba2a2010-06-08 16:21:22 +000060 DAGDeltaAlgorithm.cpp
Lang Hamese7aad352016-03-23 23:57:28 +000061 Error.cpp
Mike Stump54731d52009-07-07 18:52:14 +000062 ErrorHandling.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000063 FileUtilities.cpp
Nick Kledzik5fce8c42012-08-01 02:29:50 +000064 FileOutputBuffer.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000065 FoldingSet.cpp
Ted Kremenek57da3ed2009-07-14 20:44:17 +000066 FormattedStream.cpp
Zachary Turner11db2642016-11-11 23:57:40 +000067 FormatVariadic.cpp
Rui Ueyamaf7a7ab52016-12-20 23:09:09 +000068 GlobPattern.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000069 GraphWriter.cpp
Chandler Carruth1d03a3b2012-03-01 18:55:25 +000070 Hashing.cpp
Jakob Stoklund Olesenbaee6552010-12-21 00:04:46 +000071 IntEqClasses.cpp
Jakob Stoklund Olesen345945e2010-11-19 04:47:19 +000072 IntervalMap.cpp
David Majnemer6ddc6362015-09-01 21:23:58 +000073 JamCRC.cpp
Logan Chiendbed91e2014-02-22 15:39:39 +000074 LEB128.cpp
Chandler Carruthf8c52812013-12-27 04:28:57 +000075 LineIterator.cpp
Seth Cantrell75dbcb82012-04-17 20:03:03 +000076 Locale.cpp
Douglas Gregor7039e352012-01-29 20:15:10 +000077 LockFileManager.cpp
Daniel Sanders52b4ce72017-03-07 23:20:35 +000078 LowLevelType.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000079 ManagedStatic.cpp
Yaron Keren7b4133a2014-09-27 14:41:29 +000080 MathExtras.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000081 MemoryBuffer.cpp
Eric Christopherdb142d42013-05-21 01:30:38 +000082 MD5.cpp
Zachary Turner733be512016-10-11 19:24:45 +000083 NativeFormatting.cpp
Chris Bieneman732e0aa2014-10-15 21:54:35 +000084 Options.cpp
Zachary Turner3a57fbd2017-05-11 00:03:52 +000085 Parallel.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000086 PluginLoader.cpp
Duncan Sands96f52eb2009-03-05 09:19:13 +000087 PrettyStackTrace.cpp
JF Bastien144829d2014-06-25 15:21:42 +000088 RandomNumberGenerator.cpp
Ted Kremenek1543d132009-09-01 17:01:02 +000089 Regex.cpp
Duncan P. N. Exon Smith411840d2014-06-20 21:47:47 +000090 ScaledNumber.cpp
Zachary Turner88bb1632016-05-03 00:28:04 +000091 ScopedPrinter.cpp
Mehdi Amini4cd57022016-04-01 04:30:16 +000092 SHA1.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000093 SmallPtrSet.cpp
Chris Lattner4ea86c42009-12-16 08:44:24 +000094 SmallVector.cpp
Chris Lattnerfd255752009-06-21 03:41:50 +000095 SourceMgr.cpp
Alexey Samsonovb7dd3292014-07-09 19:40:08 +000096 SpecialCaseList.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000097 Statistic.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000098 StringExtras.cpp
99 StringMap.cpp
100 StringPool.cpp
Rafael Espindola454adf62015-06-13 12:49:52 +0000101 StringSaver.cpp
Daniel Dunbar44981682009-09-16 22:38:48 +0000102 StringRef.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +0000103 SystemUtils.cpp
Rui Ueyama4bb7883f2017-01-06 02:29:48 +0000104 TarWriter.cpp
Renato Golinf5f373f2015-05-08 21:04:27 +0000105 TargetParser.cpp
Mehdi Amini33a7ea42015-12-15 00:59:19 +0000106 ThreadPool.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +0000107 Timer.cpp
John Thompsonf41f11c2010-10-07 23:12:15 +0000108 ToolOutputFile.cpp
Ivan Krasin3dade412016-12-01 02:54:54 +0000109 TrigramIndex.cpp
Douglas Gregorbbcf90f2009-05-27 16:52:17 +0000110 Triple.cpp
Daniel Dunbar0cf4e692009-07-24 07:04:49 +0000111 Twine.cpp
Alexander Kornienko9aa60fd2013-09-04 16:00:12 +0000112 Unicode.cpp
Michael J. Spencer22120c42012-04-03 23:09:22 +0000113 YAMLParser.cpp
Nick Kledzikf60a9272012-12-12 20:46:15 +0000114 YAMLTraits.cpp
Oscar Fuentesa5ff9e32009-08-25 00:02:29 +0000115 raw_os_ostream.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +0000116 raw_ostream.cpp
Torok Edwine14d4cd2009-08-30 08:24:09 +0000117 regcomp.c
118 regerror.c
119 regexec.c
120 regfree.c
121 regstrlcpy.c
Rafael Espindolaeaeb6d92016-09-27 15:45:57 +0000122 xxhash.cpp
Michael J. Spencer447762d2010-11-29 18:16:10 +0000123
124# System
Michael J. Spencer447762d2010-11-29 18:16:10 +0000125 Atomic.cpp
Michael J. Spencer447762d2010-11-29 18:16:10 +0000126 DynamicLibrary.cpp
127 Errno.cpp
128 Host.cpp
Michael J. Spencer447762d2010-11-29 18:16:10 +0000129 Memory.cpp
130 Mutex.cpp
Rafael Espindolaf1fc3822013-06-26 19:33:03 +0000131 Path.cpp
Michael J. Spencer447762d2010-11-29 18:16:10 +0000132 Process.cpp
133 Program.cpp
134 RWMutex.cpp
Michael J. Spencer447762d2010-11-29 18:16:10 +0000135 Signals.cpp
Evan Cheng2bb40352011-08-24 18:08:43 +0000136 TargetRegistry.cpp
Michael J. Spencer447762d2010-11-29 18:16:10 +0000137 ThreadLocal.cpp
138 Threading.cpp
Michael J. Spencer447762d2010-11-29 18:16:10 +0000139 Valgrind.cpp
Nick Lewycky8d971622013-03-26 01:29:15 +0000140 Watchdog.cpp
NAKAMURA Takumi6acf3202014-01-20 10:20:23 +0000141
Zachary Turneraeedd652015-02-10 05:04:37 +0000142 ADDITIONAL_HEADER_DIRS
143 Unix
144 Windows
Pete Cooper067ee5b2016-08-22 20:38:53 +0000145 ${LLVM_MAIN_INCLUDE_DIR}/llvm/ADT
Zachary Turner3bd47ce2015-02-11 03:28:02 +0000146 ${LLVM_MAIN_INCLUDE_DIR}/llvm/Support
Ed Mastee5443792017-04-12 13:51:00 +0000147 ${Backtrace_INCLUDE_DIRS}
NAKAMURA Takumi13437e82014-11-07 16:08:19 +0000148 LINK_LIBS ${system_libs}
Oscar Fuentesa229b3c2008-09-22 01:08:49 +0000149 )
NAKAMURA Takumi4ca51b92014-02-26 12:18:55 +0000150
NAKAMURA Takumiaf2c1132014-02-23 06:27:04 +0000151set_property(TARGET LLVMSupport PROPERTY LLVM_SYSTEM_LIBS "${system_libs}")