[MIPS GlobalISel] Select float constants
[llvm-complete.git] / lib / Support / CMakeLists.txt
blobb5246b27ca1de0805763aa9af813610f7114789f
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   ConvertUTF.cpp
80   ConvertUTFWrapper.cpp
81   CrashRecoveryContext.cpp
82   DataExtractor.cpp
83   Debug.cpp
84   DebugCounter.cpp
85   DeltaAlgorithm.cpp
86   DAGDeltaAlgorithm.cpp
87   DJB.cpp
88   Error.cpp
89   ErrorHandling.cpp
90   FileCheck.cpp
91   FileUtilities.cpp
92   FileOutputBuffer.cpp
93   FoldingSet.cpp
94   FormattedStream.cpp
95   FormatVariadic.cpp
96   GlobPattern.cpp
97   GraphWriter.cpp
98   Hashing.cpp
99   InitLLVM.cpp
100   IntEqClasses.cpp
101   IntervalMap.cpp
102   ItaniumManglingCanonicalizer.cpp
103   JamCRC.cpp
104   JSON.cpp
105   KnownBits.cpp
106   LEB128.cpp
107   LineIterator.cpp
108   Locale.cpp
109   LockFileManager.cpp
110   LowLevelType.cpp
111   ManagedStatic.cpp
112   MathExtras.cpp
113   MemoryBuffer.cpp
114   MD5.cpp
115   NativeFormatting.cpp
116   Optional.cpp
117   Options.cpp
118   Parallel.cpp
119   PluginLoader.cpp
120   PrettyStackTrace.cpp
121   RandomNumberGenerator.cpp
122   Regex.cpp
123   ScaledNumber.cpp
124   ScopedPrinter.cpp
125   SHA1.cpp
126   Signposts.cpp
127   SmallPtrSet.cpp
128   SmallVector.cpp
129   SourceMgr.cpp
130   SpecialCaseList.cpp
131   Statistic.cpp
132   StringExtras.cpp
133   StringMap.cpp
134   StringPool.cpp
135   StringSaver.cpp
136   StringRef.cpp
137   SymbolRemappingReader.cpp
138   SystemUtils.cpp
139   TarWriter.cpp
140   TargetParser.cpp
141   ThreadPool.cpp
142   Timer.cpp
143   ToolOutputFile.cpp
144   TrigramIndex.cpp
145   Triple.cpp
146   Twine.cpp
147   Unicode.cpp
148   UnicodeCaseFold.cpp
149   VersionTuple.cpp
150   VirtualFileSystem.cpp
151   WithColor.cpp
152   YAMLParser.cpp
153   YAMLTraits.cpp
154   raw_os_ostream.cpp
155   raw_ostream.cpp
156   regcomp.c
157   regerror.c
158   regexec.c
159   regfree.c
160   regstrlcpy.c
161   xxhash.cpp
162   Z3Solver.cpp
164 # System
165   Atomic.cpp
166   DynamicLibrary.cpp
167   Errno.cpp
168   Host.cpp
169   Memory.cpp
170   Mutex.cpp
171   Path.cpp
172   Process.cpp
173   Program.cpp
174   RWMutex.cpp
175   Signals.cpp
176   TargetRegistry.cpp
177   ThreadLocal.cpp
178   Threading.cpp
179   Valgrind.cpp
180   Watchdog.cpp
182   ADDITIONAL_HEADER_DIRS
183   Unix
184   Windows
185   ${LLVM_MAIN_INCLUDE_DIR}/llvm/ADT
186   ${LLVM_MAIN_INCLUDE_DIR}/llvm/Support
187   ${Backtrace_INCLUDE_DIRS}
188   LINK_LIBS ${system_libs} ${delayload_flags} ${Z3_LINK_FILES}
189   )
191 set_property(TARGET LLVMSupport PROPERTY LLVM_SYSTEM_LIBS "${system_libs}")
193 if(LLVM_WITH_Z3)
194   target_include_directories(LLVMSupport SYSTEM
195     PRIVATE
196     ${Z3_INCLUDE_DIR}
197     )
198 endif()