[CMake] LLVMSupport: Give system_libs PRIVATE scope when LLVMSupport is built as...
authorNAKAMURA Takumi <geek4civic@gmail.com>
Fri, 7 Nov 2014 16:08:19 +0000 (16:08 +0000)
committerNAKAMURA Takumi <geek4civic@gmail.com>
Fri, 7 Nov 2014 16:08:19 +0000 (16:08 +0000)
unittests/SupporTests is another user of libpthreads. Apply LLVM_SYSTEM_LIBS for him explicitly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@221531 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Support/CMakeLists.txt
unittests/Support/CMakeLists.txt

index a751d62..38481f1 100644 (file)
@@ -1,3 +1,32 @@
+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()
+    set(system_libs ${system_libs} m)
+  endif( MINGW )
+endif( NOT MSVC )
+
 add_llvm_library(LLVMSupport
   APFloat.cpp
   APInt.cpp
@@ -117,42 +146,8 @@ add_llvm_library(LLVMSupport
   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()
-    set(system_libs ${system_libs} m)
-  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()
+  LINK_LIBS ${system_libs}
+  )
 
 set_property(TARGET LLVMSupport PROPERTY LLVM_SYSTEM_LIBS "${system_libs}")
index 97c5c43..7abdd8a 100644 (file)
@@ -42,3 +42,8 @@ add_llvm_unittest(SupportTests
   formatted_raw_ostream_test.cpp
   raw_ostream_test.cpp
   )
+
+# ManagedStatic.cpp uses <pthread>.
+if(LLVM_ENABLE_THREADS AND HAVE_LIBPTHREAD)
+  target_link_libraries(SupportTests pthread)
+endif()