[llvm-exegesis] [NFC] Fixing typo.
[llvm-complete.git] / lib / Support / CMakeLists.txt
blob7e791594587e43aea1de92a85dea4b14d558eb99
1 set(system_libs)
2 if ( LLVM_ENABLE_ZLIB AND HAVE_LIBZ )
3   set(system_libs ${system_libs} ${ZLIB_LIBRARIES})
4 endif()
5 if( MSVC OR MINGW )
6   # libuuid required for FOLDERID_Profile usage in lib/Support/Windows/Path.inc.
7   # advapi32 required for CryptAcquireContextW in lib/Support/Windows/Path.inc.
8   set(system_libs ${system_libs} psapi shell32 ole32 uuid advapi32)
9 elseif( CMAKE_HOST_UNIX )
10   if( HAVE_LIBRT )
11     set(system_libs ${system_libs} rt)
12   endif()
13   if( HAVE_LIBDL )
14     set(system_libs ${system_libs} ${CMAKE_DL_LIBS})
15   endif()
16   if( HAVE_BACKTRACE AND NOT "${Backtrace_LIBRARIES}" STREQUAL "" )
17     # On BSDs, CMake returns a fully qualified path to the backtrace library.
18     # We need to remove the path and the 'lib' prefix, to make it look like a
19     # regular short library name, suitable for appending to a -l link flag.
20     get_filename_component(Backtrace_LIBFILE ${Backtrace_LIBRARIES} NAME_WE)
21     STRING(REGEX REPLACE "^lib" "" Backtrace_LIBFILE ${Backtrace_LIBFILE})
22     set(system_libs ${system_libs} ${Backtrace_LIBFILE})
23   endif()
24   if(LLVM_ENABLE_TERMINFO)
25     if(HAVE_TERMINFO)
26       set(system_libs ${system_libs} ${TERMINFO_LIBS})
27     endif()
28   endif()
29   if( LLVM_ENABLE_THREADS AND HAVE_LIBATOMIC )
30     set(system_libs ${system_libs} atomic)
31   endif()
32   set(system_libs ${system_libs} ${LLVM_PTHREAD_LIB})
33   if( UNIX AND NOT (BEOS OR HAIKU) )
34     set(system_libs ${system_libs} m)
35   endif()
36   if( FUCHSIA )
37     set(system_libs ${system_libs} zircon)
38   endif()
39 endif( MSVC OR MINGW )
41 # Delay load shell32.dll if possible to speed up process startup.
42 set (delayload_flags)
43 if (MSVC)
44   set (delayload_flags delayimp -delayload:shell32.dll -delayload:ole32.dll)
45 endif()
47 add_llvm_library(LLVMSupport
48   AArch64TargetParser.cpp
49   ARMTargetParser.cpp
50   AMDGPUMetadata.cpp
51   APFloat.cpp
52   APInt.cpp
53   APSInt.cpp
54   ARMBuildAttrs.cpp
55   ARMAttributeParser.cpp
56   ARMWinEH.cpp
57   Allocator.cpp
58   BinaryStreamError.cpp
59   BinaryStreamReader.cpp
60   BinaryStreamRef.cpp
61   BinaryStreamWriter.cpp
62   BlockFrequency.cpp
63   BranchProbability.cpp
64   BuryPointer.cpp
65   CachePruning.cpp
66   circular_raw_ostream.cpp
67   Chrono.cpp
68   COM.cpp
69   CodeGenCoverage.cpp
70   CommandLine.cpp
71   Compression.cpp
72   ConvertUTF.cpp
73   ConvertUTFWrapper.cpp
74   CrashRecoveryContext.cpp
75   DataExtractor.cpp
76   Debug.cpp
77   DebugCounter.cpp
78   DeltaAlgorithm.cpp
79   DAGDeltaAlgorithm.cpp
80   DJB.cpp
81   Error.cpp
82   ErrorHandling.cpp
83   FileCheck.cpp
84   FileUtilities.cpp
85   FileOutputBuffer.cpp
86   FoldingSet.cpp
87   FormattedStream.cpp
88   FormatVariadic.cpp
89   GlobPattern.cpp
90   GraphWriter.cpp
91   Hashing.cpp
92   InitLLVM.cpp
93   IntEqClasses.cpp
94   IntervalMap.cpp
95   ItaniumManglingCanonicalizer.cpp
96   JamCRC.cpp
97   JSON.cpp
98   KnownBits.cpp
99   LEB128.cpp
100   LineIterator.cpp
101   Locale.cpp
102   LockFileManager.cpp
103   LowLevelType.cpp
104   ManagedStatic.cpp
105   MathExtras.cpp
106   MemoryBuffer.cpp
107   MD5.cpp
108   NativeFormatting.cpp
109   Optional.cpp
110   Options.cpp
111   Parallel.cpp
112   PluginLoader.cpp
113   PrettyStackTrace.cpp
114   RandomNumberGenerator.cpp
115   Regex.cpp
116   ScaledNumber.cpp
117   ScopedPrinter.cpp
118   SHA1.cpp
119   SmallPtrSet.cpp
120   SmallVector.cpp
121   SourceMgr.cpp
122   SpecialCaseList.cpp
123   Statistic.cpp
124   StringExtras.cpp
125   StringMap.cpp
126   StringPool.cpp
127   StringSaver.cpp
128   StringRef.cpp
129   SymbolRemappingReader.cpp
130   SystemUtils.cpp
131   TarWriter.cpp
132   TargetParser.cpp
133   ThreadPool.cpp
134   Timer.cpp
135   ToolOutputFile.cpp
136   TrigramIndex.cpp
137   Triple.cpp
138   Twine.cpp
139   Unicode.cpp
140   UnicodeCaseFold.cpp
141   VersionTuple.cpp
142   VirtualFileSystem.cpp
143   WithColor.cpp
144   YAMLParser.cpp
145   YAMLTraits.cpp
146   raw_os_ostream.cpp
147   raw_ostream.cpp
148   regcomp.c
149   regerror.c
150   regexec.c
151   regfree.c
152   regstrlcpy.c
153   xxhash.cpp
155 # System
156   Atomic.cpp
157   DynamicLibrary.cpp
158   Errno.cpp
159   Host.cpp
160   Memory.cpp
161   Mutex.cpp
162   Path.cpp
163   Process.cpp
164   Program.cpp
165   RWMutex.cpp
166   Signals.cpp
167   TargetRegistry.cpp
168   ThreadLocal.cpp
169   Threading.cpp
170   Valgrind.cpp
171   Watchdog.cpp
173   ADDITIONAL_HEADER_DIRS
174   Unix
175   Windows
176   ${LLVM_MAIN_INCLUDE_DIR}/llvm/ADT
177   ${LLVM_MAIN_INCLUDE_DIR}/llvm/Support
178   ${Backtrace_INCLUDE_DIRS}
179   LINK_LIBS ${system_libs} ${delayload_flags}
180   )
182 set_property(TARGET LLVMSupport PROPERTY LLVM_SYSTEM_LIBS "${system_libs}")