[ARM] MVE integer min and max
[llvm-complete.git] / lib / Support / CMakeLists.txt
blob7dfa97c53568cc2ab04bf63820808345549ea7c8
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 # Link Z3 if the user wants to build it.
48 if(LLVM_WITH_Z3)
49   set(Z3_LINK_FILES ${Z3_LIBRARIES})
50 else()
51   set(Z3_LINK_FILES "")
52 endif()
54 add_llvm_library(LLVMSupport
55   AArch64TargetParser.cpp
56   ARMTargetParser.cpp
57   AMDGPUMetadata.cpp
58   APFloat.cpp
59   APInt.cpp
60   APSInt.cpp
61   ARMBuildAttrs.cpp
62   ARMAttributeParser.cpp
63   ARMWinEH.cpp
64   Allocator.cpp
65   BinaryStreamError.cpp
66   BinaryStreamReader.cpp
67   BinaryStreamRef.cpp
68   BinaryStreamWriter.cpp
69   BlockFrequency.cpp
70   BranchProbability.cpp
71   BuryPointer.cpp
72   CachePruning.cpp
73   circular_raw_ostream.cpp
74   Chrono.cpp
75   COM.cpp
76   CodeGenCoverage.cpp
77   CommandLine.cpp
78   Compression.cpp
79   CRC.cpp
80   ConvertUTF.cpp
81   ConvertUTFWrapper.cpp
82   CrashRecoveryContext.cpp
83   DataExtractor.cpp
84   Debug.cpp
85   DebugCounter.cpp
86   DeltaAlgorithm.cpp
87   DAGDeltaAlgorithm.cpp
88   DJB.cpp
89   Error.cpp
90   ErrorHandling.cpp
91   FileCheck.cpp
92   FileUtilities.cpp
93   FileOutputBuffer.cpp
94   FoldingSet.cpp
95   FormattedStream.cpp
96   FormatVariadic.cpp
97   GlobPattern.cpp
98   GraphWriter.cpp
99   Hashing.cpp
100   InitLLVM.cpp
101   IntEqClasses.cpp
102   IntervalMap.cpp
103   ItaniumManglingCanonicalizer.cpp
104   JamCRC.cpp
105   JSON.cpp
106   KnownBits.cpp
107   LEB128.cpp
108   LineIterator.cpp
109   Locale.cpp
110   LockFileManager.cpp
111   LowLevelType.cpp
112   ManagedStatic.cpp
113   MathExtras.cpp
114   MemoryBuffer.cpp
115   MD5.cpp
116   NativeFormatting.cpp
117   Optional.cpp
118   Options.cpp
119   Parallel.cpp
120   PluginLoader.cpp
121   PrettyStackTrace.cpp
122   RandomNumberGenerator.cpp
123   Regex.cpp
124   ScaledNumber.cpp
125   ScopedPrinter.cpp
126   SHA1.cpp
127   Signposts.cpp
128   SmallPtrSet.cpp
129   SmallVector.cpp
130   SourceMgr.cpp
131   SpecialCaseList.cpp
132   Statistic.cpp
133   StringExtras.cpp
134   StringMap.cpp
135   StringPool.cpp
136   StringSaver.cpp
137   StringRef.cpp
138   SymbolRemappingReader.cpp
139   SystemUtils.cpp
140   TarWriter.cpp
141   TargetParser.cpp
142   ThreadPool.cpp
143   TimeProfiler.cpp
144   Timer.cpp
145   ToolOutputFile.cpp
146   TrigramIndex.cpp
147   Triple.cpp
148   Twine.cpp
149   Unicode.cpp
150   UnicodeCaseFold.cpp
151   VersionTuple.cpp
152   VirtualFileSystem.cpp
153   WithColor.cpp
154   YAMLParser.cpp
155   YAMLTraits.cpp
156   raw_os_ostream.cpp
157   raw_ostream.cpp
158   regcomp.c
159   regerror.c
160   regexec.c
161   regfree.c
162   regstrlcpy.c
163   xxhash.cpp
164   Z3Solver.cpp
166 # System
167   Atomic.cpp
168   DynamicLibrary.cpp
169   Errno.cpp
170   Host.cpp
171   Memory.cpp
172   Mutex.cpp
173   Path.cpp
174   Process.cpp
175   Program.cpp
176   RWMutex.cpp
177   Signals.cpp
178   TargetRegistry.cpp
179   ThreadLocal.cpp
180   Threading.cpp
181   Valgrind.cpp
182   Watchdog.cpp
184   ADDITIONAL_HEADER_DIRS
185   Unix
186   Windows
187   ${LLVM_MAIN_INCLUDE_DIR}/llvm/ADT
188   ${LLVM_MAIN_INCLUDE_DIR}/llvm/Support
189   ${Backtrace_INCLUDE_DIRS}
190   LINK_LIBS ${system_libs} ${delayload_flags} ${Z3_LINK_FILES}
191   )
193 set_property(TARGET LLVMSupport PROPERTY LLVM_SYSTEM_LIBS "${system_libs}")
195 if(LLVM_WITH_Z3)
196   target_include_directories(LLVMSupport SYSTEM
197     PRIVATE
198     ${Z3_INCLUDE_DIR}
199     )
200 endif()