[Alignment][NFC] Use Align with TargetLowering::setMinFunctionAlignment
[llvm-core.git] / lib / Support / CMakeLists.txt
blob013e6e6359f1de7295a56bd50cbf03fa42edc7da
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   FileCollector.cpp
93   FileUtilities.cpp
94   FileOutputBuffer.cpp
95   FoldingSet.cpp
96   FormattedStream.cpp
97   FormatVariadic.cpp
98   GlobPattern.cpp
99   GraphWriter.cpp
100   Hashing.cpp
101   InitLLVM.cpp
102   IntEqClasses.cpp
103   IntervalMap.cpp
104   ItaniumManglingCanonicalizer.cpp
105   JamCRC.cpp
106   JSON.cpp
107   KnownBits.cpp
108   LEB128.cpp
109   LineIterator.cpp
110   Locale.cpp
111   LockFileManager.cpp
112   LowLevelType.cpp
113   ManagedStatic.cpp
114   MathExtras.cpp
115   MemoryBuffer.cpp
116   MD5.cpp
117   NativeFormatting.cpp
118   Optional.cpp
119   Options.cpp
120   Parallel.cpp
121   PluginLoader.cpp
122   PrettyStackTrace.cpp
123   RandomNumberGenerator.cpp
124   Regex.cpp
125   ScaledNumber.cpp
126   ScopedPrinter.cpp
127   SHA1.cpp
128   Signposts.cpp
129   SmallPtrSet.cpp
130   SmallVector.cpp
131   SourceMgr.cpp
132   SpecialCaseList.cpp
133   Statistic.cpp
134   StringExtras.cpp
135   StringMap.cpp
136   StringPool.cpp
137   StringSaver.cpp
138   StringRef.cpp
139   SymbolRemappingReader.cpp
140   SystemUtils.cpp
141   TarWriter.cpp
142   TargetParser.cpp
143   ThreadPool.cpp
144   TimeProfiler.cpp
145   Timer.cpp
146   ToolOutputFile.cpp
147   TrigramIndex.cpp
148   Triple.cpp
149   Twine.cpp
150   Unicode.cpp
151   UnicodeCaseFold.cpp
152   VersionTuple.cpp
153   VirtualFileSystem.cpp
154   WithColor.cpp
155   YAMLParser.cpp
156   YAMLTraits.cpp
157   raw_os_ostream.cpp
158   raw_ostream.cpp
159   regcomp.c
160   regerror.c
161   regexec.c
162   regfree.c
163   regstrlcpy.c
164   xxhash.cpp
165   Z3Solver.cpp
167 # System
168   Atomic.cpp
169   DynamicLibrary.cpp
170   Errno.cpp
171   Host.cpp
172   Memory.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()