Removing the static initializer in ManagedStatic.cpp by using llvm_call_once to initi...
[oota-llvm.git] / lib / Support / CMakeLists.txt
index da80eaa07a3916683701fca1d129858bf1796dbb..32b96fa379deb6dcf4139b2ec813af2e60c60c3b 100644 (file)
@@ -2,31 +2,158 @@ add_llvm_library(LLVMSupport
   APFloat.cpp
   APInt.cpp
   APSInt.cpp
+  ARMBuildAttrs.cpp
+  ARMWinEH.cpp
   Allocator.cpp
-  Annotation.cpp
+  BlockFrequency.cpp
+  BranchProbability.cpp
+  circular_raw_ostream.cpp
   CommandLine.cpp
-  ConstantRange.cpp
+  Compression.cpp
+  ConvertUTF.c
+  ConvertUTFWrapper.cpp
+  CrashRecoveryContext.cpp
+  DataExtractor.cpp
+  DataStream.cpp
   Debug.cpp
+  DeltaAlgorithm.cpp
+  DAGDeltaAlgorithm.cpp
   Dwarf.cpp
+  ErrorHandling.cpp
   FileUtilities.cpp
+  FileOutputBuffer.cpp
   FoldingSet.cpp
+  FormattedStream.cpp
   GraphWriter.cpp
+  Hashing.cpp
+  IntEqClasses.cpp
+  IntervalMap.cpp
+  IntrusiveRefCntPtr.cpp
   IsInf.cpp
   IsNAN.cpp
+  LEB128.cpp
+  LineIterator.cpp
+  Locale.cpp
+  LockFileManager.cpp
   ManagedStatic.cpp
+  MathExtras.cpp
   MemoryBuffer.cpp
+  MemoryObject.cpp
+  MD5.cpp
+  Options.cpp
   PluginLoader.cpp
   PrettyStackTrace.cpp
-  SlowOperationInformer.cpp
+  RandomNumberGenerator.cpp
+  Regex.cpp
+  ScaledNumber.cpp
   SmallPtrSet.cpp
+  SmallVector.cpp
+  SourceMgr.cpp
+  SpecialCaseList.cpp
   Statistic.cpp
-  Streams.cpp
+  StreamableMemoryObject.cpp
   StringExtras.cpp
   StringMap.cpp
   StringPool.cpp
+  StringRef.cpp
+  StringRefMemoryObject.cpp
   SystemUtils.cpp
-  Threading.cpp
   Timer.cpp
+  ToolOutputFile.cpp
   Triple.cpp
+  Twine.cpp
+  Unicode.cpp
+  YAMLParser.cpp
+  YAMLTraits.cpp
+  raw_os_ostream.cpp
   raw_ostream.cpp
+  regcomp.c
+  regerror.c
+  regexec.c
+  regfree.c
+  regstrlcpy.c
+
+# System
+  Atomic.cpp
+  DynamicLibrary.cpp
+  Errno.cpp
+  Host.cpp
+  Memory.cpp
+  Mutex.cpp
+  Path.cpp
+  Process.cpp
+  Program.cpp
+  RWMutex.cpp
+  SearchForAddressOfSpecialSymbol.cpp
+  Signals.cpp
+  TargetRegistry.cpp
+  ThreadLocal.cpp
+  Threading.cpp
+  TimeValue.cpp
+  Valgrind.cpp
+  Watchdog.cpp
+
+  ADDITIONAL_HEADERS
+  Unix/Host.inc
+  Unix/Memory.inc
+  Unix/Mutex.inc
+  Unix/Path.inc
+  Unix/Process.inc
+  Unix/Program.inc
+  Unix/RWMutex.inc
+  Unix/Signals.inc
+  Unix/Threading.inc
+  Unix/ThreadLocal.inc
+  Unix/TimeValue.inc
+  Unix/Watchdog.inc
+  Windows/DynamicLibrary.inc
+  Windows/Host.inc
+  Windows/Memory.inc
+  Windows/Mutex.inc
+  Windows/Path.inc
+  Windows/Process.inc
+  Windows/Program.inc
+  Windows/RWMutex.inc
+  Windows/Signals.inc
+  Windows/Threading.inc
+  Windows/ThreadLocal.inc
+  Windows/TimeValue.inc
+  Windows/Watchdog.inc
   )
+set(system_libs)
+if( NOT MSVC )
+  if( MINGW )
+    set(system_libs ${system_libs} imagehlp psapi shell32)
+  elseif( CMAKE_HOST_UNIX )
+    if( HAVE_LIBRT )
+      set(system_libs ${system_libs} rt)
+    endif()
+    if( HAVE_LIBDL )
+      set(system_libs ${system_libs} ${CMAKE_DL_LIBS})
+    endif()
+    if(LLVM_ENABLE_TERMINFO)
+      if(HAVE_TERMINFO)
+        set(system_libs ${system_libs} ${TERMINFO_LIBS})
+      endif()
+    endif()
+    if( LLVM_ENABLE_THREADS AND HAVE_LIBATOMIC )
+      set(system_libs ${system_libs} atomic)
+    endif()
+    if( LLVM_ENABLE_THREADS AND HAVE_LIBPTHREAD )
+      set(system_libs ${system_libs} pthread)
+    endif()
+    if ( LLVM_ENABLE_ZLIB AND HAVE_LIBZ )
+      set(system_libs ${system_libs} z)
+    endif()
+  endif( MINGW )
+endif( NOT MSVC )
+
+
+if(POLICY CMP0022 AND BUILD_SHARED_LIBS)
+  # FIXME: Should this be really PUBLIC?
+  target_link_libraries(LLVMSupport PUBLIC ${system_libs})
+else()
+  target_link_libraries(LLVMSupport ${cmake_2_8_12_INTERFACE} ${system_libs})
+endif()
+
+set_property(TARGET LLVMSupport PROPERTY LLVM_SYSTEM_LIBS "${system_libs}")