summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support/CMakeLists.txt
diff options
context:
space:
mode:
authorNAKAMURA Takumi <geek4civic@gmail.com>2014-11-07 16:08:19 +0000
committerNAKAMURA Takumi <geek4civic@gmail.com>2014-11-07 16:08:19 +0000
commit13437e8414dd5044ad67c72cf68aae1771402f95 (patch)
tree16996f13e22d1e8c4e172db6c6d60c7609da6d0b /llvm/lib/Support/CMakeLists.txt
parentf9dcf9029b8dca88bc8547267e28c8f3fbb7ed3c (diff)
downloadbcm5719-llvm-13437e8414dd5044ad67c72cf68aae1771402f95.tar.gz
bcm5719-llvm-13437e8414dd5044ad67c72cf68aae1771402f95.zip
[CMake] LLVMSupport: Give system_libs PRIVATE scope when LLVMSupport is built as SHARED. Users of LLVMSupport won't inherit ${system_libs}.
unittests/SupporTests is another user of libpthreads. Apply LLVM_SYSTEM_LIBS for him explicitly. llvm-svn: 221531
Diffstat (limited to 'llvm/lib/Support/CMakeLists.txt')
-rw-r--r--llvm/lib/Support/CMakeLists.txt67
1 files changed, 31 insertions, 36 deletions
diff --git a/llvm/lib/Support/CMakeLists.txt b/llvm/lib/Support/CMakeLists.txt
index a751d62ebb8..38481f11ac6 100644
--- a/llvm/lib/Support/CMakeLists.txt
+++ b/llvm/lib/Support/CMakeLists.txt
@@ -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}")
OpenPOWER on IntegriCloud