OSDN Git Service

[CMake] Fix pthread handling for out-of-tree builds
[android-x86/external-llvm.git] / lib / Support / CMakeLists.txt
1 set(system_libs)
2 if( 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)
5 elseif( 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})
15     endif()
16   endif()
17   if( LLVM_ENABLE_THREADS AND HAVE_LIBATOMIC )
18     set(system_libs ${system_libs} atomic)
19   endif()
20   set(system_libs ${system_libs} ${LLVM_PTHREAD_LIB})
21   if ( LLVM_ENABLE_ZLIB AND HAVE_LIBZ )
22     set(system_libs ${system_libs} z)
23   endif()
24   if( UNIX AND NOT (BEOS OR HAIKU) )
25     set(system_libs ${system_libs} m)
26   endif()
27 endif( MSVC OR MINGW )
28
29 add_llvm_library(LLVMSupport
30   APFloat.cpp
31   APInt.cpp
32   APSInt.cpp
33   ARMBuildAttrs.cpp
34   ARMAttributeParser.cpp
35   ARMWinEH.cpp
36   Allocator.cpp
37   BlockFrequency.cpp
38   BranchProbability.cpp
39   CachePruning.cpp
40   circular_raw_ostream.cpp
41   Chrono.cpp
42   COM.cpp
43   CommandLine.cpp
44   Compression.cpp
45   ConvertUTF.cpp
46   ConvertUTFWrapper.cpp
47   CrashRecoveryContext.cpp
48   DataExtractor.cpp
49   Debug.cpp
50   DeltaAlgorithm.cpp
51   DAGDeltaAlgorithm.cpp
52   Dwarf.cpp
53   Error.cpp
54   ErrorHandling.cpp
55   FileUtilities.cpp
56   FileOutputBuffer.cpp
57   FoldingSet.cpp
58   FormattedStream.cpp
59   FormatVariadic.cpp
60   GlobPattern.cpp
61   GraphWriter.cpp
62   Hashing.cpp
63   IntEqClasses.cpp
64   IntervalMap.cpp
65   JamCRC.cpp
66   LEB128.cpp
67   LineIterator.cpp
68   Locale.cpp
69   LockFileManager.cpp
70   ManagedStatic.cpp
71   MathExtras.cpp
72   MemoryBuffer.cpp
73   MD5.cpp
74   NativeFormatting.cpp
75   Options.cpp
76   PluginLoader.cpp
77   PrettyStackTrace.cpp
78   RandomNumberGenerator.cpp
79   Regex.cpp
80   ScaledNumber.cpp
81   ScopedPrinter.cpp
82   SHA1.cpp
83   SmallPtrSet.cpp
84   SmallVector.cpp
85   SourceMgr.cpp
86   SpecialCaseList.cpp
87   Statistic.cpp
88   StringExtras.cpp
89   StringMap.cpp
90   StringPool.cpp
91   StringSaver.cpp
92   StringRef.cpp
93   SystemUtils.cpp
94   TarWriter.cpp
95   TargetParser.cpp
96   ThreadPool.cpp
97   Timer.cpp
98   ToolOutputFile.cpp
99   TrigramIndex.cpp
100   Triple.cpp
101   Twine.cpp
102   Unicode.cpp
103   YAMLParser.cpp
104   YAMLTraits.cpp
105   raw_os_ostream.cpp
106   raw_ostream.cpp
107   regcomp.c
108   regerror.c
109   regexec.c
110   regfree.c
111   regstrlcpy.c
112   xxhash.cpp
113
114 # System
115   Atomic.cpp
116   DynamicLibrary.cpp
117   Errno.cpp
118   Host.cpp
119   Memory.cpp
120   Mutex.cpp
121   Path.cpp
122   Process.cpp
123   Program.cpp
124   RWMutex.cpp
125   SearchForAddressOfSpecialSymbol.cpp
126   Signals.cpp
127   TargetRegistry.cpp
128   ThreadLocal.cpp
129   Threading.cpp
130   Valgrind.cpp
131   Watchdog.cpp
132
133   ADDITIONAL_HEADER_DIRS
134   Unix
135   Windows
136   ${LLVM_MAIN_INCLUDE_DIR}/llvm/ADT
137   ${LLVM_MAIN_INCLUDE_DIR}/llvm/Support
138
139   LINK_LIBS ${system_libs}
140   )
141
142 set_property(TARGET LLVMSupport PROPERTY LLVM_SYSTEM_LIBS "${system_libs}")