blob: a46167e8714e63f2b40cc4ab972024a27bbbc378 [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()
12 if(LLVM_ENABLE_TERMINFO)
13 if(HAVE_TERMINFO)
14 set(system_libs ${system_libs} ${TERMINFO_LIBS})
NAKAMURA Takumi13437e82014-11-07 16:08:19 +000015 endif()
Ehsan Akhgari155ca8f2016-02-09 19:41:14 +000016 endif()
17 if( LLVM_ENABLE_THREADS AND HAVE_LIBATOMIC )
18 set(system_libs ${system_libs} atomic)
19 endif()
Eric Fiselier87c87f42017-02-10 01:59:20 +000020 set(system_libs ${system_libs} ${LLVM_PTHREAD_LIB})
Ehsan Akhgari155ca8f2016-02-09 19:41:14 +000021 if ( LLVM_ENABLE_ZLIB AND HAVE_LIBZ )
22 set(system_libs ${system_libs} z)
23 endif()
Renato Golin9590c532016-02-26 17:01:45 +000024 if( UNIX AND NOT (BEOS OR HAIKU) )
25 set(system_libs ${system_libs} m)
26 endif()
Ehsan Akhgari155ca8f2016-02-09 19:41:14 +000027endif( MSVC OR MINGW )
NAKAMURA Takumi13437e82014-11-07 16:08:19 +000028
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000029add_llvm_library(LLVMSupport
30 APFloat.cpp
31 APInt.cpp
32 APSInt.cpp
Saleem Abdulrasool278a9f42014-01-19 08:25:27 +000033 ARMBuildAttrs.cpp
Sam Parker34315ee2017-01-13 10:50:01 +000034 ARMAttributeParser.cpp
Saleem Abdulrasoolb3271032014-06-02 01:17:49 +000035 ARMWinEH.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000036 Allocator.cpp
Zachary Turnerd9dc2822017-03-02 20:52:51 +000037 BinaryStreamError.cpp
38 BinaryStreamReader.cpp
39 BinaryStreamWriter.cpp
Jakub Staszak49993f22011-07-25 22:24:51 +000040 BlockFrequency.cpp
Andrew Trick3d4e64b2011-06-11 01:05:22 +000041 BranchProbability.cpp
Mehdi Amini27814982016-04-02 03:28:26 +000042 CachePruning.cpp
Douglas Gregor3ab9e502009-12-23 17:03:46 +000043 circular_raw_ostream.cpp
Pavel Labath59838f72016-10-20 12:05:50 +000044 Chrono.cpp
Zachary Turnerc2055702015-04-27 17:19:26 +000045 COM.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000046 CommandLine.cpp
Alexey Samsonov2fb337e2013-04-23 08:28:39 +000047 Compression.cpp
Justin Lebar90910552016-09-30 00:38:45 +000048 ConvertUTF.cpp
Dmitri Gribenkob311f4e2013-01-30 12:05:05 +000049 ConvertUTFWrapper.cpp
Douglas Gregorb7b5a7d2010-07-28 17:17:46 +000050 CrashRecoveryContext.cpp
Benjamin Kramer88a1d9f2011-09-13 19:42:16 +000051 DataExtractor.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000052 Debug.cpp
Daniel Berlin25f1db12017-02-19 04:28:56 +000053 DebugCounter.cpp
Daniel Dunbarff53d462009-12-03 11:12:42 +000054 DeltaAlgorithm.cpp
Daniel Dunbar579ba2a2010-06-08 16:21:22 +000055 DAGDeltaAlgorithm.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000056 Dwarf.cpp
Lang Hamese7aad352016-03-23 23:57:28 +000057 Error.cpp
Mike Stump54731d52009-07-07 18:52:14 +000058 ErrorHandling.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000059 FileUtilities.cpp
Nick Kledzik5fce8c42012-08-01 02:29:50 +000060 FileOutputBuffer.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000061 FoldingSet.cpp
Ted Kremenek57da3ed2009-07-14 20:44:17 +000062 FormattedStream.cpp
Zachary Turner11db2642016-11-11 23:57:40 +000063 FormatVariadic.cpp
Rui Ueyamaf7a7ab52016-12-20 23:09:09 +000064 GlobPattern.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000065 GraphWriter.cpp
Chandler Carruth1d03a3b2012-03-01 18:55:25 +000066 Hashing.cpp
Jakob Stoklund Olesenbaee6552010-12-21 00:04:46 +000067 IntEqClasses.cpp
Jakob Stoklund Olesen345945e2010-11-19 04:47:19 +000068 IntervalMap.cpp
David Majnemer6ddc6362015-09-01 21:23:58 +000069 JamCRC.cpp
Logan Chiendbed91e2014-02-22 15:39:39 +000070 LEB128.cpp
Chandler Carruthf8c52812013-12-27 04:28:57 +000071 LineIterator.cpp
Seth Cantrell75dbcb82012-04-17 20:03:03 +000072 Locale.cpp
Douglas Gregor7039e352012-01-29 20:15:10 +000073 LockFileManager.cpp
Daniel Sanders52b4ce72017-03-07 23:20:35 +000074 LowLevelType.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000075 ManagedStatic.cpp
Yaron Keren7b4133a2014-09-27 14:41:29 +000076 MathExtras.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000077 MemoryBuffer.cpp
Eric Christopherdb142d42013-05-21 01:30:38 +000078 MD5.cpp
Zachary Turner733be512016-10-11 19:24:45 +000079 NativeFormatting.cpp
Chris Bieneman732e0aa2014-10-15 21:54:35 +000080 Options.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000081 PluginLoader.cpp
Duncan Sands96f52eb2009-03-05 09:19:13 +000082 PrettyStackTrace.cpp
JF Bastien144829d2014-06-25 15:21:42 +000083 RandomNumberGenerator.cpp
Ted Kremenek1543d132009-09-01 17:01:02 +000084 Regex.cpp
Duncan P. N. Exon Smith411840d2014-06-20 21:47:47 +000085 ScaledNumber.cpp
Zachary Turner88bb1632016-05-03 00:28:04 +000086 ScopedPrinter.cpp
Mehdi Amini4cd57022016-04-01 04:30:16 +000087 SHA1.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000088 SmallPtrSet.cpp
Chris Lattner4ea86c42009-12-16 08:44:24 +000089 SmallVector.cpp
Chris Lattnerfd255752009-06-21 03:41:50 +000090 SourceMgr.cpp
Alexey Samsonovb7dd3292014-07-09 19:40:08 +000091 SpecialCaseList.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000092 Statistic.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000093 StringExtras.cpp
94 StringMap.cpp
95 StringPool.cpp
Rafael Espindola454adf62015-06-13 12:49:52 +000096 StringSaver.cpp
Daniel Dunbar44981682009-09-16 22:38:48 +000097 StringRef.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000098 SystemUtils.cpp
Rui Ueyama4bb7883f2017-01-06 02:29:48 +000099 TarWriter.cpp
Renato Golinf5f373f2015-05-08 21:04:27 +0000100 TargetParser.cpp
Mehdi Amini33a7ea42015-12-15 00:59:19 +0000101 ThreadPool.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +0000102 Timer.cpp
John Thompsonf41f11c2010-10-07 23:12:15 +0000103 ToolOutputFile.cpp
Ivan Krasin3dade412016-12-01 02:54:54 +0000104 TrigramIndex.cpp
Douglas Gregorbbcf90f2009-05-27 16:52:17 +0000105 Triple.cpp
Daniel Dunbar0cf4e692009-07-24 07:04:49 +0000106 Twine.cpp
Alexander Kornienko9aa60fd2013-09-04 16:00:12 +0000107 Unicode.cpp
Michael J. Spencer22120c42012-04-03 23:09:22 +0000108 YAMLParser.cpp
Nick Kledzikf60a9272012-12-12 20:46:15 +0000109 YAMLTraits.cpp
Oscar Fuentesa5ff9e32009-08-25 00:02:29 +0000110 raw_os_ostream.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +0000111 raw_ostream.cpp
Torok Edwine14d4cd2009-08-30 08:24:09 +0000112 regcomp.c
113 regerror.c
114 regexec.c
115 regfree.c
116 regstrlcpy.c
Rafael Espindolaeaeb6d92016-09-27 15:45:57 +0000117 xxhash.cpp
Michael J. Spencer447762d2010-11-29 18:16:10 +0000118
119# System
Michael J. Spencer447762d2010-11-29 18:16:10 +0000120 Atomic.cpp
Michael J. Spencer447762d2010-11-29 18:16:10 +0000121 DynamicLibrary.cpp
122 Errno.cpp
123 Host.cpp
Michael J. Spencer447762d2010-11-29 18:16:10 +0000124 Memory.cpp
125 Mutex.cpp
Rafael Espindolaf1fc3822013-06-26 19:33:03 +0000126 Path.cpp
Michael J. Spencer447762d2010-11-29 18:16:10 +0000127 Process.cpp
128 Program.cpp
129 RWMutex.cpp
130 SearchForAddressOfSpecialSymbol.cpp
131 Signals.cpp
Evan Cheng2bb40352011-08-24 18:08:43 +0000132 TargetRegistry.cpp
Michael J. Spencer447762d2010-11-29 18:16:10 +0000133 ThreadLocal.cpp
134 Threading.cpp
Michael J. Spencer447762d2010-11-29 18:16:10 +0000135 Valgrind.cpp
Nick Lewycky8d971622013-03-26 01:29:15 +0000136 Watchdog.cpp
NAKAMURA Takumi6acf3202014-01-20 10:20:23 +0000137
Zachary Turneraeedd652015-02-10 05:04:37 +0000138 ADDITIONAL_HEADER_DIRS
139 Unix
140 Windows
Pete Cooper067ee5b2016-08-22 20:38:53 +0000141 ${LLVM_MAIN_INCLUDE_DIR}/llvm/ADT
Zachary Turner3bd47ce2015-02-11 03:28:02 +0000142 ${LLVM_MAIN_INCLUDE_DIR}/llvm/Support
NAKAMURA Takumi13437e82014-11-07 16:08:19 +0000143
144 LINK_LIBS ${system_libs}
Oscar Fuentesa229b3c2008-09-22 01:08:49 +0000145 )
NAKAMURA Takumi4ca51b92014-02-26 12:18:55 +0000146
NAKAMURA Takumiaf2c1132014-02-23 06:27:04 +0000147set_property(TARGET LLVMSupport PROPERTY LLVM_SYSTEM_LIBS "${system_libs}")