blob: 3301364cf2c6ad52849c40ff5832722f3aa8c4de [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()
Rafael Espindola5cd721a2016-03-01 15:54:40 +000020 set(system_libs ${system_libs} ${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
Jakub Staszak49993f22011-07-25 22:24:51 +000037 BlockFrequency.cpp
Andrew Trick3d4e64b2011-06-11 01:05:22 +000038 BranchProbability.cpp
Mehdi Amini27814982016-04-02 03:28:26 +000039 CachePruning.cpp
Douglas Gregor3ab9e502009-12-23 17:03:46 +000040 circular_raw_ostream.cpp
Pavel Labath59838f72016-10-20 12:05:50 +000041 Chrono.cpp
Zachary Turnerc2055702015-04-27 17:19:26 +000042 COM.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000043 CommandLine.cpp
Alexey Samsonov2fb337e2013-04-23 08:28:39 +000044 Compression.cpp
Justin Lebar90910552016-09-30 00:38:45 +000045 ConvertUTF.cpp
Dmitri Gribenkob311f4e2013-01-30 12:05:05 +000046 ConvertUTFWrapper.cpp
Douglas Gregorb7b5a7d2010-07-28 17:17:46 +000047 CrashRecoveryContext.cpp
Benjamin Kramer88a1d9f2011-09-13 19:42:16 +000048 DataExtractor.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000049 Debug.cpp
Daniel Dunbarff53d462009-12-03 11:12:42 +000050 DeltaAlgorithm.cpp
Daniel Dunbar579ba2a2010-06-08 16:21:22 +000051 DAGDeltaAlgorithm.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000052 Dwarf.cpp
Lang Hamese7aad352016-03-23 23:57:28 +000053 Error.cpp
Mike Stump54731d52009-07-07 18:52:14 +000054 ErrorHandling.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000055 FileUtilities.cpp
Nick Kledzik5fce8c42012-08-01 02:29:50 +000056 FileOutputBuffer.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000057 FoldingSet.cpp
Ted Kremenek57da3ed2009-07-14 20:44:17 +000058 FormattedStream.cpp
Zachary Turner11db2642016-11-11 23:57:40 +000059 FormatVariadic.cpp
Rui Ueyamaf7a7ab52016-12-20 23:09:09 +000060 GlobPattern.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000061 GraphWriter.cpp
Chandler Carruth1d03a3b2012-03-01 18:55:25 +000062 Hashing.cpp
Jakob Stoklund Olesenbaee6552010-12-21 00:04:46 +000063 IntEqClasses.cpp
Jakob Stoklund Olesen345945e2010-11-19 04:47:19 +000064 IntervalMap.cpp
David Majnemer6ddc6362015-09-01 21:23:58 +000065 JamCRC.cpp
Logan Chiendbed91e2014-02-22 15:39:39 +000066 LEB128.cpp
Chandler Carruthf8c52812013-12-27 04:28:57 +000067 LineIterator.cpp
Seth Cantrell75dbcb82012-04-17 20:03:03 +000068 Locale.cpp
Douglas Gregor7039e352012-01-29 20:15:10 +000069 LockFileManager.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000070 ManagedStatic.cpp
Yaron Keren7b4133a2014-09-27 14:41:29 +000071 MathExtras.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000072 MemoryBuffer.cpp
Eric Christopherdb142d42013-05-21 01:30:38 +000073 MD5.cpp
Zachary Turner733be512016-10-11 19:24:45 +000074 NativeFormatting.cpp
Chris Bieneman732e0aa2014-10-15 21:54:35 +000075 Options.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000076 PluginLoader.cpp
Duncan Sands96f52eb2009-03-05 09:19:13 +000077 PrettyStackTrace.cpp
JF Bastien144829d2014-06-25 15:21:42 +000078 RandomNumberGenerator.cpp
Ted Kremenek1543d132009-09-01 17:01:02 +000079 Regex.cpp
Duncan P. N. Exon Smith411840d2014-06-20 21:47:47 +000080 ScaledNumber.cpp
Zachary Turner88bb1632016-05-03 00:28:04 +000081 ScopedPrinter.cpp
Mehdi Amini4cd57022016-04-01 04:30:16 +000082 SHA1.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000083 SmallPtrSet.cpp
Chris Lattner4ea86c42009-12-16 08:44:24 +000084 SmallVector.cpp
Chris Lattnerfd255752009-06-21 03:41:50 +000085 SourceMgr.cpp
Alexey Samsonovb7dd3292014-07-09 19:40:08 +000086 SpecialCaseList.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000087 Statistic.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000088 StringExtras.cpp
89 StringMap.cpp
90 StringPool.cpp
Rafael Espindola454adf62015-06-13 12:49:52 +000091 StringSaver.cpp
Daniel Dunbar44981682009-09-16 22:38:48 +000092 StringRef.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000093 SystemUtils.cpp
Rui Ueyama4bb7883f2017-01-06 02:29:48 +000094 TarWriter.cpp
Renato Golinf5f373f2015-05-08 21:04:27 +000095 TargetParser.cpp
Mehdi Amini33a7ea42015-12-15 00:59:19 +000096 ThreadPool.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +000097 Timer.cpp
John Thompsonf41f11c2010-10-07 23:12:15 +000098 ToolOutputFile.cpp
Ivan Krasin3dade412016-12-01 02:54:54 +000099 TrigramIndex.cpp
Douglas Gregorbbcf90f2009-05-27 16:52:17 +0000100 Triple.cpp
Daniel Dunbar0cf4e692009-07-24 07:04:49 +0000101 Twine.cpp
Alexander Kornienko9aa60fd2013-09-04 16:00:12 +0000102 Unicode.cpp
Michael J. Spencer22120c42012-04-03 23:09:22 +0000103 YAMLParser.cpp
Nick Kledzikf60a9272012-12-12 20:46:15 +0000104 YAMLTraits.cpp
Oscar Fuentesa5ff9e32009-08-25 00:02:29 +0000105 raw_os_ostream.cpp
Oscar Fuentesa229b3c2008-09-22 01:08:49 +0000106 raw_ostream.cpp
Torok Edwine14d4cd2009-08-30 08:24:09 +0000107 regcomp.c
108 regerror.c
109 regexec.c
110 regfree.c
111 regstrlcpy.c
Rafael Espindolaeaeb6d92016-09-27 15:45:57 +0000112 xxhash.cpp
Michael J. Spencer447762d2010-11-29 18:16:10 +0000113
114# System
Michael J. Spencer447762d2010-11-29 18:16:10 +0000115 Atomic.cpp
Michael J. Spencer447762d2010-11-29 18:16:10 +0000116 DynamicLibrary.cpp
117 Errno.cpp
118 Host.cpp
Michael J. Spencer447762d2010-11-29 18:16:10 +0000119 Memory.cpp
120 Mutex.cpp
Rafael Espindolaf1fc3822013-06-26 19:33:03 +0000121 Path.cpp
Michael J. Spencer447762d2010-11-29 18:16:10 +0000122 Process.cpp
123 Program.cpp
124 RWMutex.cpp
125 SearchForAddressOfSpecialSymbol.cpp
126 Signals.cpp
Evan Cheng2bb40352011-08-24 18:08:43 +0000127 TargetRegistry.cpp
Michael J. Spencer447762d2010-11-29 18:16:10 +0000128 ThreadLocal.cpp
129 Threading.cpp
Michael J. Spencer447762d2010-11-29 18:16:10 +0000130 Valgrind.cpp
Nick Lewycky8d971622013-03-26 01:29:15 +0000131 Watchdog.cpp
NAKAMURA Takumi6acf3202014-01-20 10:20:23 +0000132
Zachary Turneraeedd652015-02-10 05:04:37 +0000133 ADDITIONAL_HEADER_DIRS
134 Unix
135 Windows
Pete Cooper067ee5b2016-08-22 20:38:53 +0000136 ${LLVM_MAIN_INCLUDE_DIR}/llvm/ADT
Zachary Turner3bd47ce2015-02-11 03:28:02 +0000137 ${LLVM_MAIN_INCLUDE_DIR}/llvm/Support
NAKAMURA Takumi13437e82014-11-07 16:08:19 +0000138
139 LINK_LIBS ${system_libs}
Oscar Fuentesa229b3c2008-09-22 01:08:49 +0000140 )
NAKAMURA Takumi4ca51b92014-02-26 12:18:55 +0000141
NAKAMURA Takumiaf2c1132014-02-23 06:27:04 +0000142set_property(TARGET LLVMSupport PROPERTY LLVM_SYSTEM_LIBS "${system_libs}")