mirror of
https://github.com/apache/impala.git
synced 2025-12-19 18:12:08 -05:00
IMPALA-5659: Begin standardizing treatment of thirdparty libraries
If Impala was built with --build_shared_libs, some thirdparty libraries were still statically linked; this could cause runtime errors if the libraries were also linked into a .so. This patch fixes that issue (for gflags, glog and protobuf at least) by ensuring that build_shared_libs is respected for those libraries. * Standardize thirdparty library handling w/CMake by adding IMPALA_ADD_THIRDPARTY_LIB. This creates a symbolic name for each library, allowing us to switch the underlying library files (e.g. change from static to dynamic linking) without having to individually change the link clauses for each target. * Remove most cases of add_library() from cmake_modules/* - that is all handled by IMPALA_ADD_THIRDPARTY_LIB. * Add shared library detection for a couple of thirdparty dependencies (many only detect static libraries), just to prove the concept. * All thirdparty libraries now print a standard set of messages. For example: -- ----------> Adding thirdparty library protoc. <---------- -- Header files: /data/henry/src/cloudera/impala-toolchain/protobuf-2.6.1/include -- Added shared library dependency protoc: /data/henry/src/cloudera/impala-toolchain/protobuf-2.6.1/lib/libprotoc.so -- ----------> Adding thirdparty library libev. <---------- -- Header files: /data/henry/src/cloudera/impala-toolchain/libev-4.20/include -- Added shared library dependency libev: /data/henry/src/cloudera/impala-toolchain/libev-4.20/lib/libev.so * Some libraries don't quite fit this pattern (LLVM and Boost) - leave them as is for now. * Remove FindOpenSSL.cmake - the toolchain one is more modern. Change-Id: Ib7a6bc5610aaf2450f91348d94cfb984c6a4b78d Reviewed-on: http://gerrit.cloudera.org:8080/7418 Tested-by: Impala Public Jenkins Reviewed-by: Tim Armstrong <tarmstrong@cloudera.com>
This commit is contained in:
206
CMakeLists.txt
206
CMakeLists.txt
@@ -118,82 +118,69 @@ if (CMAKE_DEBUG)
|
||||
set(Boost_DEBUG TRUE)
|
||||
endif()
|
||||
|
||||
# Adds a third-party library with name ${NAME}. If BUILD_SHARED_LIBS is true, the new
|
||||
# library refers to ${SHARED_LIB}; otherwise it refers to ${STATIC_LIB}. If only one
|
||||
# library (static or shared) is provided, it is used regardless of BUILD_SHARED_LIBS. The
|
||||
# library's headers are added to the system include path.
|
||||
function(IMPALA_ADD_THIRDPARTY_LIB NAME HEADER STATIC_LIB SHARED_LIB)
|
||||
message(STATUS "----------> Adding thirdparty library ${NAME}. <----------")
|
||||
if (HEADER)
|
||||
include_directories(SYSTEM ${HEADER})
|
||||
message(STATUS "Header files: ${HEADER}")
|
||||
endif()
|
||||
if (NOT STATIC_LIB AND NOT SHARED_LIB)
|
||||
message(FATAL_ERROR "Library '${NAME}' has neither shared nor static library files")
|
||||
return ()
|
||||
endif()
|
||||
|
||||
if ((BUILD_SHARED_LIBS AND SHARED_LIB) OR NOT STATIC_LIB)
|
||||
ADD_THIRDPARTY_LIB(${NAME} SHARED_LIB ${SHARED_LIB})
|
||||
else()
|
||||
ADD_THIRDPARTY_LIB(${NAME} STATIC_LIB ${STATIC_LIB})
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
|
||||
find_package(Boost REQUIRED COMPONENTS thread regex filesystem system date_time)
|
||||
include_directories(${Boost_INCLUDE_DIRS})
|
||||
set(LIBS ${LIBS} ${Boost_LIBRARIES})
|
||||
message(STATUS "Boost include dir: " ${Boost_INCLUDE_DIRS})
|
||||
message(STATUS "Boost libraries: " ${Boost_LIBRARIES})
|
||||
|
||||
find_package(OpenSSL REQUIRED)
|
||||
include_directories(${OPENSSL_INCLUDE_DIR})
|
||||
set(OPENSSL_LIBS ${OPENSSL_SSL} ${OPENSSL_CRYPTO})
|
||||
message(STATUS "OpenSSL: ${OPENSSL_LIBS}")
|
||||
IMPALA_ADD_THIRDPARTY_LIB(openssl_ssl ${OPENSSL_INCLUDE_DIR} "" ${OPENSSL_SSL_LIBRARY})
|
||||
IMPALA_ADD_THIRDPARTY_LIB(openssl_crypto "" "" ${OPENSSL_CRYPTO_LIBRARY})
|
||||
|
||||
find_package(Bzip2 REQUIRED)
|
||||
include_directories(${BZIP2_INCLUDE_DIR})
|
||||
IMPALA_ADD_THIRDPARTY_LIB(bzip2 ${BZIP2_INCLUDE_DIR} ${BZIP2_STATIC_LIBRARIES} "")
|
||||
|
||||
find_package(Zlib REQUIRED)
|
||||
include_directories(${ZLIB_INCLUDE_DIR})
|
||||
message(STATUS "zlib: Static -> ${ZLIB_STATIC}, Other -> ${ZLIB_LIBRARIES}")
|
||||
|
||||
if(NOT BUILD_SHARED_LIBS)
|
||||
# Panic if we cannot find the static libraries as they are supposed to be
|
||||
# in the toolchain.
|
||||
if (NOT BZIP2_STATIC_FOUND)
|
||||
message(FATAL_ERROR "bzip2 static library libbz2.a not found in $ENV{IMPALA_TOOLCHAIN}")
|
||||
endif()
|
||||
if (NOT ZLIB_STATIC_FOUND)
|
||||
message(FATAL_ERROR "zlib static library libz.a not found in $ENV{IMPALA_TOOLCHAIN}")
|
||||
endif()
|
||||
|
||||
set(LIBBZ2 BZIP2_STATIC)
|
||||
set(LIBZ ZLIB_STATIC)
|
||||
else()
|
||||
set(LIBBZ2 ${BZIP2_LIBRARIES})
|
||||
set(LIBZ ${ZLIB_LIBRARIES})
|
||||
endif ()
|
||||
IMPALA_ADD_THIRDPARTY_LIB(zlib ${ZLIB_INCLUDE_DIR} ${ZLIB_STATIC_LIBRARIES}
|
||||
${ZLIB_SHARED_LIBRARIES})
|
||||
|
||||
# find HDFS headers and libs
|
||||
set(HDFS_FIND_QUIETLY TRUE)
|
||||
find_package(HDFS REQUIRED)
|
||||
include_directories(${HDFS_INCLUDE_DIR})
|
||||
|
||||
if(BUILD_SHARED_LIBS)
|
||||
set(LIBS ${LIBS} ${HDFS_LIBRARIES})
|
||||
set(HDFS_LIB ${HDFS_LIBRARIES})
|
||||
else()
|
||||
set(LIBS ${LIBS} HDFS_STATIC)
|
||||
set(HDFS_LIB HDFS_STATIC)
|
||||
endif()
|
||||
IMPALA_ADD_THIRDPARTY_LIB(hdfs ${HDFS_INCLUDE_DIR} ${HDFS_STATIC_LIB} ${HDFS_SHARED_LIB})
|
||||
|
||||
# find GLog headers and libs. Must include glog headers before the other
|
||||
# google libraries. They all have a config.h and we want glog's to be picked
|
||||
# up first.
|
||||
find_package(GLog REQUIRED)
|
||||
include_directories(${GLOG_INCLUDE_DIR})
|
||||
set(LIBS ${LIBS} ${GLOG_LIBS})
|
||||
message(STATUS "GLog include dir: " ${GLOG_INCLUDE_DIR})
|
||||
IMPALA_ADD_THIRDPARTY_LIB(glog ${GLOG_INCLUDE_DIR} ${GLOG_STATIC_LIB} ${GLOG_SHARED_LIB})
|
||||
|
||||
# find GFlags headers and libs (needed for GLog)
|
||||
# find GFlags headers and libs
|
||||
find_package(GFlags REQUIRED)
|
||||
include_directories(${GFLAGS_INCLUDE_DIR})
|
||||
set(LIBS ${LIBS} ${GFLAGS_LIBS})
|
||||
message(STATUS "GFlags include dir: " ${GFLAGS_INCLUDE_DIR})
|
||||
message(STATUS "GFlags lib dir: " ${GFLAGS_LIBS})
|
||||
IMPALA_ADD_THIRDPARTY_LIB(gflags ${GFLAGS_INCLUDE_DIR} ${GFLAGS_STATIC_LIB}
|
||||
${GFLAGS_SHARED_LIB})
|
||||
|
||||
# find PProf libs
|
||||
find_package(PProf REQUIRED)
|
||||
include_directories(${PPROF_INCLUDE_DIR})
|
||||
set (LIBS ${LIBS} ${PPROF_LIBRARIES})
|
||||
message(STATUS "PProf include dir: " ${PPROF_INCLUDE_DIR})
|
||||
message(STATUS "PProf static lib: " ${PPROF_STATIC_LIB})
|
||||
IMPALA_ADD_THIRDPARTY_LIB(pprof ${PPROF_INCLUDE_DIR} ${PPROF_STATIC_LIB} "")
|
||||
|
||||
# find GTest headers and libs
|
||||
set (GTEST_FIND_QUIETLY TRUE)
|
||||
find_package(GTest REQUIRED)
|
||||
include_directories(${GTEST_INCLUDE_DIR})
|
||||
set(LIBS ${LIBS} ${GTEST_LIBRARIES})
|
||||
|
||||
message(STATUS "GTest include dir: " ${GTEST_INCLUDE_DIR})
|
||||
message(STATUS "GTest library: " ${GTEST_LIBRARY})
|
||||
IMPALA_ADD_THIRDPARTY_LIB(gtest ${GTEST_INCLUDE_DIR} ${GTEST_STATIC_LIB} "")
|
||||
|
||||
# Use LLVM release binaries.
|
||||
set(LLVM_BINARIES_ROOT ${LLVM_ROOT})
|
||||
@@ -211,23 +198,16 @@ message(STATUS "LLVM_ROOT: " ${LLVM_ROOT})
|
||||
|
||||
find_package(Llvm REQUIRED)
|
||||
include_directories(${LLVM_INCLUDE_DIR})
|
||||
set(LIBS ${LIBS} ${LLVM_MODULE_LIBS})
|
||||
|
||||
# find Sasl
|
||||
set(SASL_FIND_QUIETLY TRUE)
|
||||
find_package(Sasl REQUIRED)
|
||||
include_directories(${SASL_INCLUDE_DIR})
|
||||
add_library(sasllib SHARED IMPORTED)
|
||||
set_target_properties(sasllib PROPERTIES IMPORTED_LOCATION ${SASL_SHARED_LIB})
|
||||
set(SASL_LIBRARY sasllib)
|
||||
message(STATUS "Sasl include dir: " ${SASL_INCLUDE_DIR})
|
||||
message(STATUS "Sasl library: " ${SASL_LIBRARY})
|
||||
IMPALA_ADD_THIRDPARTY_LIB(cyrus_sasl ${SASL_INCLUDE_DIR} "" ${SASL_SHARED_LIB})
|
||||
|
||||
# find openldap
|
||||
find_package(Ldap REQUIRED)
|
||||
include_directories(${LDAP_INCLUDE_DIR})
|
||||
set(LDAP_LIBRARY ldapstatic)
|
||||
set(LBER_LIBRARY lberstatic)
|
||||
message(STATUS "LDAP: ${LDAP_INCLUDE_DIR}")
|
||||
IMPALA_ADD_THIRDPARTY_LIB(ldap ${LDAP_INCLUDE_DIR} ${LDAP_STATIC_LIBRARY} "")
|
||||
IMPALA_ADD_THIRDPARTY_LIB(lber "" ${LBER_STATIC_LIBRARY} "")
|
||||
|
||||
# The environment variable $THRIFT_HOME is set in impala-config.sh
|
||||
# Make sure it's consistent with $THRIFT_ROOT.
|
||||
@@ -236,43 +216,30 @@ if (NOT ($ENV{THRIFT_HOME} STREQUAL ${THRIFT_ROOT}))
|
||||
"variable THRIFT_HOME ($ENV{THRIFT_HOME}).")
|
||||
endif()
|
||||
# find thrift headers and libs
|
||||
set(THRIFT_FIND_QUIETLY TRUE)
|
||||
find_package(Thrift REQUIRED)
|
||||
include_directories(${THRIFT_INCLUDE_DIR})
|
||||
set(LIBS ${LIBS} ${THRIFT_LIBS})
|
||||
message(STATUS "Thrift include dir: ${THRIFT_INCLUDE_DIR}")
|
||||
IMPALA_ADD_THIRDPARTY_LIB(thrift ${THRIFT_INCLUDE_DIR} ${THRIFT_STATIC_LIB} "")
|
||||
message(STATUS "Thrift version: ${THRIFT_VERSION}")
|
||||
message(STATUS "Thrift contrib dir: ${THRIFT_CONTRIB_DIR}")
|
||||
message(STATUS "Thrift library path: ${THRIFT_LIBS}")
|
||||
message(STATUS "Thrift static library: ${THRIFT_STATIC_LIB}")
|
||||
message(STATUS "Thrift compiler: ${THRIFT_COMPILER}")
|
||||
|
||||
# find flatbuffers headers, lib and compiler
|
||||
find_package(FlatBuffers REQUIRED)
|
||||
include_directories(${FLATBUFFERS_INCLUDE_DIR})
|
||||
set(LIBS ${LIBS} ${FLATBUFFERS_LIBS})
|
||||
message(STATUS "FlatBuffers include dir: ${FLATBUFFERS_INCLUDE_DIR}")
|
||||
message(STATUS "FlatBuffers library path: ${FLATBUFFERS_LIBS}")
|
||||
IMPALA_ADD_THIRDPARTY_LIB(flatbuffers ${FLATBUFFERS_INCLUDE_DIR}
|
||||
${FLATBUFFERS_STATIC_LIB} "")
|
||||
message(STATUS "FlatBuffers compiler: ${FLATBUFFERS_COMPILER}")
|
||||
|
||||
# find Snappy headers and libs
|
||||
find_package(Snappy REQUIRED)
|
||||
include_directories(${SNAPPY_INCLUDE_DIR})
|
||||
set(LIBS ${LIBS} ${SNAPPY_LIBRARIES})
|
||||
message(STATUS "Snappy include dir: " ${SNAPPY_INCLUDE_DIR})
|
||||
message(STATUS "Snappy library: " "${SNAPPY_STATIC_LIB}")
|
||||
IMPALA_ADD_THIRDPARTY_LIB(snappy ${SNAPPY_INCLUDE_DIR} ${SNAPPY_STATIC_LIB} "")
|
||||
|
||||
# find lz4 lib
|
||||
find_package(Lz4 REQUIRED)
|
||||
include_directories(${LZ4_INCLUDE_DIR})
|
||||
set(LIBS ${LIBS} ${LZ4_LIBRARIES})
|
||||
message(STATUS "Lz4 include dir: " ${LZ4_INCLUDE_DIR})
|
||||
message(STATUS "Lz4 library: " "${LZ4_STATIC_LIB}")
|
||||
IMPALA_ADD_THIRDPARTY_LIB(lz4 ${LZ4_INCLUDE_DIR} ${LZ4_STATIC_LIB} "")
|
||||
|
||||
# find re2 headers and libs
|
||||
find_package(Re2 REQUIRED)
|
||||
include_directories(${RE2_INCLUDE_DIR})
|
||||
set(LIBS ${LIBS} ${RE2_LIBRARIES})
|
||||
message(STATUS "Re2 include dir: " ${RE2_INCLUDE_DIR})
|
||||
message(STATUS "Re2 library: " ${RE2_STATIC_LIB})
|
||||
IMPALA_ADD_THIRDPARTY_LIB(re2 ${RE2_INCLUDE_DIR} ${RE2_STATIC_LIB} "")
|
||||
|
||||
# find rapidjson headers
|
||||
find_package(RapidJson REQUIRED)
|
||||
@@ -281,23 +248,34 @@ message(STATUS "RapidJson include dir: " ${RAPIDJSON_INCLUDE_DIR})
|
||||
|
||||
# find Avro headers and libs
|
||||
find_package(Avro REQUIRED)
|
||||
include_directories(${AVRO_INCLUDE_DIR})
|
||||
set(LIBS ${LIBS} ${AVRO_STATIC_LIB})
|
||||
message(STATUS "Avro include dir: " ${AVRO_INCLUDE_DIR})
|
||||
message(STATUS "Avro static library: " ${AVRO_STATIC_LIB})
|
||||
IMPALA_ADD_THIRDPARTY_LIB(avro ${AVRO_INCLUDE_DIR} ${AVRO_STATIC_LIB} "")
|
||||
|
||||
###################################################################
|
||||
# These dependencies use Kudu's CMake functions
|
||||
# find protobuf headers, libs and compiler
|
||||
find_package(Protobuf REQUIRED)
|
||||
IMPALA_ADD_THIRDPARTY_LIB(protobuf ${PROTOBUF_INCLUDE_DIR} ${PROTOBUF_STATIC_LIBRARY}
|
||||
${PROTOBUF_SHARED_LIBRARY})
|
||||
IMPALA_ADD_THIRDPARTY_LIB(protoc ${PROTOBUF_INCLUDE_DIR} ${PROTOBUF_PROTOC_STATIC_LIBRARY}
|
||||
${PROTOBUF_PROTOC_SHARED_LIBRARY})
|
||||
|
||||
ADD_THIRDPARTY_LIB(glog
|
||||
STATIC_LIB ${GLOG_STATIC_LIB})
|
||||
ADD_THIRDPARTY_LIB(gflags
|
||||
STATIC_LIB ${GFLAGS_STATIC_LIB})
|
||||
ADD_THIRDPARTY_LIB(zlib
|
||||
STATIC_LIB ${ZLIB_STATIC_LIBRARIES})
|
||||
ADD_THIRDPARTY_LIB(cyrus_sasl
|
||||
SHARED_LIB ${SASL_SHARED_LIB})
|
||||
# find libev headers and libs
|
||||
find_package(LibEv REQUIRED)
|
||||
IMPALA_ADD_THIRDPARTY_LIB(libev ${LIBEV_INCLUDE_DIR} ${LIBEV_STATIC_LIB}
|
||||
${LIBEV_SHARED_LIB})
|
||||
|
||||
# Find crcutil headers and libs
|
||||
find_package(Crcutil REQUIRED)
|
||||
IMPALA_ADD_THIRDPARTY_LIB(crcutil ${CRCUTIL_INCLUDE_DIR} ${CRCUTIL_STATIC_LIB}
|
||||
${CRCUTIL_SHARED_LIB})
|
||||
|
||||
# find jni headers and libs
|
||||
find_package(JNI REQUIRED)
|
||||
IMPALA_ADD_THIRDPARTY_LIB(java_jvm "${JNI_INCLUDE_DIRS}" ${JAVA_JVM_LIBRARY} "")
|
||||
|
||||
# find breakpad headers and libs
|
||||
find_package(Breakpad REQUIRED)
|
||||
IMPALA_ADD_THIRDPARTY_LIB(breakpad ${BREAKPAD_INCLUDE_DIR} ${BREAKPAD_STATIC_LIB} "")
|
||||
|
||||
# System dependencies
|
||||
if (NOT APPLE)
|
||||
find_library(RT_LIB_PATH rt)
|
||||
if(NOT RT_LIB_PATH)
|
||||
@@ -314,29 +292,7 @@ if (NOT APPLE)
|
||||
SHARED_LIB "${DL_LIB_PATH}")
|
||||
endif()
|
||||
|
||||
# find protobuf headers, libs and compiler
|
||||
find_package(Protobuf REQUIRED)
|
||||
include_directories(SYSTEM ${PROTOBUF_INCLUDE_DIR})
|
||||
message(STATUS "Protobuf include dir: " ${PROTOBUF_INCLUDE_DIR})
|
||||
|
||||
ADD_THIRDPARTY_LIB(protobuf
|
||||
STATIC_LIB "${PROTOBUF_STATIC_LIBRARY}")
|
||||
ADD_THIRDPARTY_LIB(protoc
|
||||
STATIC_LIB "${PROTOBUF_PROTOC_STATIC_LIBRARY}"
|
||||
DEPS protobuf)
|
||||
|
||||
find_package(LibEv REQUIRED)
|
||||
include_directories(SYSTEM ${LIBEV_INCLUDE_DIR})
|
||||
ADD_THIRDPARTY_LIB(libev
|
||||
STATIC_LIB "${LIBEV_STATIC_LIB}")
|
||||
|
||||
find_package(Crcutil REQUIRED)
|
||||
include_directories(SYSTEM ${CRCUTIL_INCLUDE_DIR})
|
||||
ADD_THIRDPARTY_LIB(crcutil
|
||||
STATIC_LIB "${CRCUTIL_STATIC_LIB}")
|
||||
|
||||
###################################################################
|
||||
|
||||
# KuduClient can use GLOG
|
||||
add_definitions(-DKUDU_HEADERS_USE_GLOG)
|
||||
if(NOT $ENV{KUDU_CLIENT_DIR} EQUAL "")
|
||||
@@ -354,20 +310,6 @@ endif()
|
||||
find_package(kuduClient REQUIRED NO_DEFAULT_PATH)
|
||||
include_directories(SYSTEM ${KUDU_CLIENT_INCLUDE_DIR})
|
||||
|
||||
# find jni headers and libs
|
||||
find_package(JNI REQUIRED)
|
||||
include_directories(${JNI_INCLUDE_DIRS})
|
||||
set(LIBS ${LIBS} ${JNI_LIBRARIES})
|
||||
message(STATUS "JNI_INCLUDE_DIRS: ${JNI_INCLUDE_DIRS}")
|
||||
message(STATUS "JNI_LIBRARIES: ${JNI_LIBRARIES}")
|
||||
|
||||
# find breakpad headers and libs
|
||||
find_package(Breakpad REQUIRED)
|
||||
include_directories(${BREAKPAD_INCLUDE_DIR})
|
||||
set(LIBS ${LIBS} ${BREAKPAD_LIBRARIES})
|
||||
message(STATUS "Breakpad include dir: " ${BREAKPAD_INCLUDE_DIR})
|
||||
message(STATUS "Breakpad library: " ${BREAKPAD_STATIC_LIB})
|
||||
|
||||
# compile these subdirs using their own CMakeLists.txt
|
||||
add_subdirectory(common/function-registry)
|
||||
add_subdirectory(common/thrift)
|
||||
|
||||
@@ -350,27 +350,28 @@ if (BUILD_SHARED_LIBS)
|
||||
endif ()
|
||||
|
||||
set (IMPALA_DEPENDENCIES
|
||||
${SNAPPY_STATIC_LIB}
|
||||
${LZ4_STATIC_LIB}
|
||||
${RE2_STATIC_LIB}
|
||||
snappy
|
||||
lz4
|
||||
re2
|
||||
${Boost_LIBRARIES}
|
||||
${LLVM_MODULE_LIBS}
|
||||
thriftstatic
|
||||
${SASL_LIBRARY}
|
||||
${LDAP_LIBRARY}
|
||||
${LBER_LIBRARY}
|
||||
thrift
|
||||
cyrus_sasl
|
||||
ldap
|
||||
lber
|
||||
ThriftSaslTransport
|
||||
${OPENSSL_LIBS}
|
||||
openssl_ssl
|
||||
openssl_crypto
|
||||
gutil
|
||||
glogstatic
|
||||
gflagsstatic
|
||||
pprofstatic
|
||||
glog
|
||||
gflags
|
||||
pprof
|
||||
breakpad
|
||||
${HDFS_LIB}
|
||||
${LIBZ}
|
||||
${LIBBZ2}
|
||||
${AVRO_STATIC_LIB}
|
||||
${JAVA_JVM_LIBRARY}
|
||||
hdfs
|
||||
zlib
|
||||
bzip2
|
||||
avro
|
||||
java_jvm
|
||||
kudu_client)
|
||||
|
||||
# Add all external dependencies. They should come after the impala libs.
|
||||
@@ -396,8 +397,9 @@ endif()
|
||||
# library. The result will not compile as libhdfs.a is not compiled with -fpic. The same
|
||||
# is true for other system dependencies that we don't have control over.
|
||||
set(IMPALA_LINK_LIBS_DYNAMIC_TARGETS ${IMPALA_LINK_LIBS_NO_TCMALLOC})
|
||||
list(REMOVE_ITEM IMPALA_LINK_LIBS_DYNAMIC_TARGETS HDFS_STATIC)
|
||||
set(IMPALA_LINK_LIBS_DYNAMIC_TARGETS ${IMPALA_LINK_LIBS_DYNAMIC_TARGETS} ${HDFS_LIBRARIES})
|
||||
list(REMOVE_ITEM IMPALA_LINK_LIBS_DYNAMIC_TARGETS hdfs)
|
||||
set(IMPALA_LINK_LIBS_DYNAMIC_TARGETS ${IMPALA_LINK_LIBS_DYNAMIC_TARGETS}
|
||||
${HDFS_SHARED_LIB})
|
||||
|
||||
# Link libs for test executables. Although not all tests need all libs,
|
||||
# the build time for the tests is rather small and not worth the trouble.
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
# AVRO_INCLUDE_DIR, directory containing headers
|
||||
# AVRO_STATIC_LIB, path to libavrocpp_s.a
|
||||
# AVRO_FOUND
|
||||
# avro - static library
|
||||
set(AVRO_SEARCH_HEADER_PATHS
|
||||
${AVRO_ROOT}/include
|
||||
$ENV{IMPALA_HOME}/thirdparty/avro-c-$ENV{IMPALA_AVRO_VERSION}/src)
|
||||
@@ -45,8 +44,6 @@ if(NOT AVRO_STATIC_LIB)
|
||||
set(AVRO_FOUND FALSE)
|
||||
else()
|
||||
set(AVRO_FOUND TRUE)
|
||||
add_library(avro STATIC IMPORTED)
|
||||
set_target_properties(avro PROPERTIES IMPORTED_LOCATION "${AVRO_STATIC_LIB}")
|
||||
endif ()
|
||||
|
||||
set(AVRO_FOUND ${AVRO_STATIC_LIB_FOUND})
|
||||
@@ -55,5 +52,4 @@ mark_as_advanced(
|
||||
AVRO_INCLUDE_DIR
|
||||
AVRO_STATIC_LIB
|
||||
AVRO_FOUND
|
||||
avro
|
||||
)
|
||||
|
||||
@@ -21,7 +21,6 @@
|
||||
# This module defines
|
||||
# BREAKPAD_INCLUDE_DIR, directory containing headers
|
||||
# BREAKPAD_STATIC_LIB, path to libbreakpad_client.a
|
||||
# breakpad, imported static library
|
||||
|
||||
set(BREAKPAD_SEARCH_LIB_PATH
|
||||
${BREAKPAD_ROOT}/lib
|
||||
@@ -41,8 +40,6 @@ if (BREAKPAD_LIB_PATH)
|
||||
set(BREAKPAD_LIBS ${BREAKPAD_SEARCH_LIB_PATH})
|
||||
set(BREAKPAD_STATIC_LIB ${BREAKPAD_SEARCH_LIB_PATH}/libbreakpad_client.a)
|
||||
set(BREAKPAD_FOUND TRUE)
|
||||
add_library(breakpad STATIC IMPORTED)
|
||||
set_target_properties(breakpad PROPERTIES IMPORTED_LOCATION "${BREAKPAD_STATIC_LIB}")
|
||||
else ()
|
||||
message(FATAL_ERROR "Breakpad library NOT found. "
|
||||
"in ${BREAKPAD_SEARCH_LIB_PATH}")
|
||||
@@ -53,5 +50,4 @@ mark_as_advanced(
|
||||
BREAKPAD_INCLUDE_DIR
|
||||
BREAKPAD_LIBS
|
||||
BREAKPAD_STATIC_LIB
|
||||
breakpad
|
||||
)
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
# Find FLATBUFFERS (flatbuffers/include, libflatbuffers.a, flatc)
|
||||
# This module defines:
|
||||
# FLATBUFFERS_INCLUDE_DIR, directory containing headers
|
||||
# FLATBUFFERS_LIBS, path to flatbuffers's static library
|
||||
# FLATBUFFERS_STATIC_LIB, path to flatbuffers's static library
|
||||
# FLATBUFFERS_COMPILER, path to flatc compiler
|
||||
|
||||
find_path(FLATBUFFERS_INCLUDE_DIR flatbuffers/flatbuffers.h
|
||||
@@ -28,7 +28,7 @@ find_path(FLATBUFFERS_INCLUDE_DIR flatbuffers/flatbuffers.h
|
||||
NO_CMAKE_SYSTEM_PATH
|
||||
NO_SYSTEM_ENVIRONMENT_PATH)
|
||||
|
||||
find_library(FLATBUFFERS_LIBS libflatbuffers.a
|
||||
find_library(FLATBUFFERS_STATIC_LIB libflatbuffers.a
|
||||
PATHS ${FLATBUFFERS_ROOT}/lib
|
||||
NO_CMAKE_SYSTEM_PATH
|
||||
NO_SYSTEM_ENVIRONMENT_PATH)
|
||||
@@ -40,4 +40,4 @@ find_program(FLATBUFFERS_COMPILER flatc
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(FLATBUFFERS REQUIRED_VARS
|
||||
FLATBUFFERS_INCLUDE_DIR FLATBUFFERS_LIBS FLATBUFFERS_COMPILER)
|
||||
FLATBUFFERS_INCLUDE_DIR FLATBUFFERS_STATIC_LIB FLATBUFFERS_COMPILER)
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
# GFLAGS_INCLUDE_DIR, directory containing headers
|
||||
# GFLAGS_LIBS, directory containing gflag libraries
|
||||
# GFLAGS_STATIC_LIB, path to libgflags.a
|
||||
# gflagsstatic
|
||||
# GFLAGS_SHARED_LIB, path to libgflags.so
|
||||
|
||||
set(GFLAGS_SEARCH_HEADER_PATHS
|
||||
${GFLAGS_ROOT}/include
|
||||
@@ -44,23 +44,20 @@ find_path(GFLAGS_INCLUDE_DIR gflags/gflags.h PATHS
|
||||
|
||||
find_library(GFLAGS_LIBS NAMES gflags PATHS ${GFLAGS_SEARCH_LIB_PATH})
|
||||
find_library(GFLAGS_STATIC_LIB NAMES libgflags.a PATHS ${GFLAGS_SEARCH_LIB_PATH})
|
||||
find_library(GFLAGS_SHARED_LIB NAMES libgflags.so PATHS ${GFLAGS_SEARCH_LIB_PATH})
|
||||
|
||||
if (NOT GFLAGS_LIBS OR NOT GFLAGS_STATIC_LIB)
|
||||
if (NOT GFLAGS_LIBS OR NOT GFLAGS_STATIC_LIB OR NOT GFLAGS_SHARED_LIB)
|
||||
message(FATAL_ERROR "GFlags includes and libraries NOT found. "
|
||||
"Looked for headers in ${GFLAGS_SEARCH_HEADER_PATHS}, "
|
||||
"and for libs in ${GFLAGS_SEARCH_LIB_PATH}")
|
||||
set(GFLAGS_FOUND FALSE)
|
||||
else()
|
||||
set(GFLAGS_FOUND TRUE)
|
||||
# for static linking with GFLAGS, GFLAGS_STATIC_LIB is set in GFLAGS' find module
|
||||
add_library(gflagsstatic STATIC IMPORTED)
|
||||
set_target_properties(gflagsstatic PROPERTIES IMPORTED_LOCATION ${GFLAGS_STATIC_LIB})
|
||||
|
||||
endif ()
|
||||
|
||||
mark_as_advanced(
|
||||
GFLAGS_INCLUDE_DIR
|
||||
GFLAGS_LIBS
|
||||
GFLAGS_STATIC_LIB
|
||||
gflagsstatic
|
||||
GFLAGS_SHARED_LIB
|
||||
)
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
# GLOG_INCLUDE_DIR, directory containing headers
|
||||
# GLOG_LIBS, directory containing glog libraries
|
||||
# GLOG_STATIC_LIB, path to libglog.a
|
||||
# glogstatic
|
||||
|
||||
set(THIRDPARTY $ENV{IMPALA_HOME}/thirdparty)
|
||||
|
||||
@@ -45,6 +44,7 @@ find_path(GLOG_INCLUDE_DIR glog/logging.h PATHS
|
||||
|
||||
find_library(GLOG_LIBS NAMES glog PATHS ${GLOG_SEARCH_LIB_PATH})
|
||||
find_library(GLOG_STATIC_LIB NAMES libglog.a PATHS ${GLOG_SEARCH_LIB_PATH})
|
||||
find_library(GLOG_SHARED_LIB NAMES libglog.so PATHS ${GLOG_SEARCH_LIB_PATH})
|
||||
|
||||
if (NOT GLOG_LIBS OR NOT GLOG_STATIC_LIB)
|
||||
message(FATAL_ERROR "GLog includes and libraries NOT found. "
|
||||
@@ -53,16 +53,11 @@ if (NOT GLOG_LIBS OR NOT GLOG_STATIC_LIB)
|
||||
set(GLOG_FOUND FALSE)
|
||||
else()
|
||||
set(GLOG_FOUND TRUE)
|
||||
# for static linking with GLOG, GLOG_STATIC_LIB is set in GLOG's find module
|
||||
add_library(glogstatic STATIC IMPORTED)
|
||||
# TODO: Is this directive required for all libraries? Seems to make no difference.
|
||||
set_target_properties(glogstatic PROPERTIES IMPORTED_LOCATION ${GLOG_STATIC_LIB})
|
||||
|
||||
endif ()
|
||||
|
||||
mark_as_advanced(
|
||||
GLOG_INCLUDE_DIR
|
||||
GLOG_LIBS
|
||||
GLOG_STATIC_LIB
|
||||
glogstatic
|
||||
GLOG_SHARED_LIB
|
||||
)
|
||||
|
||||
@@ -27,48 +27,43 @@
|
||||
# This module defines
|
||||
# GTEST_INCLUDE_DIR, where to find gtest include files, etc.
|
||||
# GTEST_LIBRARIES, the libraries to link against to use gtest.
|
||||
# GTest_FOUND, If false, do not try to use gtest.
|
||||
|
||||
# also defined, but not for general use are
|
||||
# GTEST_LIBRARY, where to find the GTest library.
|
||||
# gtest
|
||||
# GTEST_FOUND, If false, do not try to use gtest.
|
||||
# GTEST_STATIC_LIB, where to find the GTest library.
|
||||
|
||||
set(GTEST_H gtest/gtest.h)
|
||||
|
||||
find_path(GTEST_INCLUDE_DIR ${GTEST_H}
|
||||
PATHS ${GTEST_ROOT}/include
|
||||
$ENV{IMPALA_HOME}/thirdparty/gtest-1.6.0/include
|
||||
$ENV{IMPALA_HOME}/thirdparty/gtest-$ENV{IMPALA_GTEST_VERSION}/include
|
||||
NO_DEFAULT_PATH
|
||||
DOC "Path to the ${GTEST_H} file"
|
||||
)
|
||||
|
||||
find_library(GTEST_LIBRARY NAMES gtest
|
||||
find_library(GTEST_STATIC_LIB NAMES libgtest.a
|
||||
PATHS ${GTEST_ROOT}/lib
|
||||
$ENV{IMPALA_HOME}/thirdparty/gtest-1.6.0
|
||||
$ENV{IMPALA_HOME}/thirdparty/gtest-$ENV{IMPALA_GTEST_VERSION}
|
||||
NO_DEFAULT_PATH
|
||||
DOC "Google's framework for writing C++ tests (gtest)"
|
||||
)
|
||||
|
||||
find_library(GTEST_MAIN_LIBRARY NAMES gtest_main
|
||||
find_library(GTEST_MAIN_LIBRARY NAMES libgtest_main.a
|
||||
PATHS ${GTEST_ROOT}/lib
|
||||
$ENV{IMPALA_HOME}/thirdparty/gtest-1.6.0
|
||||
$ENV{IMPALA_HOME}/thirdparty/gtest-$ENV{IMPALA_GTEST_VERSION}
|
||||
NO_DEFAULT_PATH
|
||||
DOC "Google's framework for writing C++ tests (gtest_main)"
|
||||
)
|
||||
|
||||
if(GTEST_INCLUDE_DIR AND GTEST_LIBRARY AND GTEST_MAIN_LIBRARY)
|
||||
set(GTEST_LIBRARIES ${GTEST_LIBRARY} ${GTEST_MAIN_LIBRARY})
|
||||
if(GTEST_INCLUDE_DIR AND GTEST_STATIC_LIB AND GTEST_MAIN_LIBRARY)
|
||||
set(GTEST_LIBRARIES ${GTEST_STATIC_LIB} ${GTEST_MAIN_LIBRARY})
|
||||
set(GTEST_FOUND TRUE)
|
||||
else(GTEST_INCLUDE_DIR AND GTEST_LIBRARY AND GTEST_MAIN_LIBRARY)
|
||||
else(GTEST_INCLUDE_DIR AND GTEST_STATIC_LIB AND GTEST_MAIN_LIBRARY)
|
||||
set(GTEST_FOUND FALSE)
|
||||
endif(GTEST_INCLUDE_DIR AND GTEST_LIBRARY AND GTEST_MAIN_LIBRARY)
|
||||
endif(GTEST_INCLUDE_DIR AND GTEST_STATIC_LIB AND GTEST_MAIN_LIBRARY)
|
||||
|
||||
if(GTEST_FOUND)
|
||||
if(NOT GTest_FIND_QUIETLY)
|
||||
if(NOT GTEST_FIND_QUIETLY)
|
||||
message(STATUS "Found GTest: ${GTEST_LIBRARIES}")
|
||||
endif(NOT GTest_FIND_QUIETLY)
|
||||
add_library(gtest STATIC IMPORTED)
|
||||
set_target_properties(gtest PROPERTIES IMPORTED_LOCATION "${GTEST_LIBRARY}")
|
||||
endif(NOT GTEST_FIND_QUIETLY)
|
||||
else(GTEST_FOUND)
|
||||
message(FATAL_ERROR "Could not find the GTest Library")
|
||||
endif(GTEST_FOUND)
|
||||
@@ -76,4 +71,4 @@ endif(GTEST_FOUND)
|
||||
mark_as_advanced(
|
||||
GTEST_INCLUDE_DIR
|
||||
GTEST_LIBRARIES
|
||||
gtest)
|
||||
GTEST_STATIC_LIB)
|
||||
|
||||
@@ -43,25 +43,26 @@ else ()
|
||||
set(arch_hint "x86")
|
||||
endif()
|
||||
|
||||
message(STATUS "Architecture: ${arch_hint}")
|
||||
set(HDFS_LIB_PATHS $ENV{HADOOP_LIB_DIR}/native)
|
||||
|
||||
message(STATUS "HDFS_LIB_PATHS: ${HDFS_LIB_PATHS}")
|
||||
if (NOT HDFS_FIND_QUIETLY)
|
||||
message(STATUS "Architecture: ${arch_hint}")
|
||||
message(STATUS "HDFS_LIB_PATHS: ${HDFS_LIB_PATHS}")
|
||||
endif()
|
||||
|
||||
find_library(HDFS_LIB NAMES hdfs PATHS
|
||||
find_library(HDFS_STATIC_LIB NAMES libhdfs.a PATHS
|
||||
${HDFS_LIB_PATHS}
|
||||
# make sure we don't accidentally pick up a different version
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
)
|
||||
find_library(HDFS_SHARED_LIB NAMES libhdfs.so PATHS
|
||||
${HDFS_LIB_PATHS}
|
||||
# make sure we don't accidentally pick up a different version
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
|
||||
if (HDFS_LIB)
|
||||
if (HDFS_STATIC_LIB AND HDFS_SHARED_LIB)
|
||||
set(HDFS_FOUND TRUE)
|
||||
set(HDFS_LIBRARIES ${HDFS_LIB})
|
||||
set(HDFS_STATIC_LIB ${HDFS_LIB_PATHS}/libhdfs.a)
|
||||
|
||||
add_library(HDFS_STATIC STATIC IMPORTED)
|
||||
set_target_properties(HDFS_STATIC PROPERTIES IMPORTED_LOCATION ${HDFS_STATIC_LIB})
|
||||
|
||||
else ()
|
||||
set(HDFS_FOUND FALSE)
|
||||
endif ()
|
||||
@@ -70,17 +71,17 @@ if (HDFS_FOUND)
|
||||
if (NOT HDFS_FIND_QUIETLY)
|
||||
message(STATUS "${Hadoop_VERSION}")
|
||||
message(STATUS "HDFS_INCLUDE_DIR: ${HDFS_INCLUDE_DIR}")
|
||||
message(STATUS "HDFS_LIBRARIES: ${HDFS_LIBRARIES}")
|
||||
message(STATUS "HDFS_STATIC: ${HDFS_STATIC_LIB}")
|
||||
message(STATUS "HDFS_STATIC_LIB: ${HDFS_STATIC_LIB}")
|
||||
message(STATUS "HDFS_SHARED_LIB: ${HDFS_SHARED_LIB}")
|
||||
endif ()
|
||||
else ()
|
||||
message(FATAL_ERROR "HDFS includes and libraries NOT found."
|
||||
"Thrift support will be disabled (${Thrift_RETURN}, "
|
||||
message(FATAL_ERROR "HDFS includes and libraries NOT found. "
|
||||
"${HDFS_INCLUDE_DIR}, ${HDFS_LIB})")
|
||||
endif ()
|
||||
|
||||
mark_as_advanced(
|
||||
HDFS_LIBRARIES
|
||||
HDFS_STATIC_LIB
|
||||
HDFS_SHARED_LIB
|
||||
HDFS_INCLUDE_DIR
|
||||
HDFS_STATIC
|
||||
)
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
# LDAP_INCLUDE_DIR, where to find LDAP headers
|
||||
# LDAP_STATIC_LIBRARY, the LDAP library to use.
|
||||
# LBER_STATIC_LIBRARY, a support library for LDAP.
|
||||
# ldapstatic, lberstatic, imported libraries
|
||||
|
||||
set(THIRDPARTY_LDAP $ENV{IMPALA_HOME}/thirdparty/openldap-$ENV{IMPALA_OPENLDAP_VERSION})
|
||||
|
||||
@@ -57,17 +56,10 @@ if (NOT LDAP_STATIC_LIBRARY OR NOT LBER_STATIC_LIBRARY OR
|
||||
set(LDAP_FOUND TRUE)
|
||||
else()
|
||||
set(LDAP_FOUND FALSE)
|
||||
add_library(ldapstatic STATIC IMPORTED)
|
||||
set_target_properties(ldapstatic PROPERTIES IMPORTED_LOCATION ${LDAP_STATIC_LIBRARY})
|
||||
add_library(lberstatic STATIC IMPORTED)
|
||||
set_target_properties(lberstatic PROPERTIES IMPORTED_LOCATION ${LBER_STATIC_LIBRARY})
|
||||
endif ()
|
||||
|
||||
|
||||
mark_as_advanced(
|
||||
LDAP_STATIC_LIBRARY
|
||||
LBER_STATIC_LIBRARY
|
||||
LDAP_INCLUDE_DIR
|
||||
ldapstatic
|
||||
lberstatic
|
||||
)
|
||||
LDAP_INCLUDE_DIR)
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
# LZ4_INCLUDE_DIR, directory containing headers
|
||||
# LZ4_LIBS, directory containing lz4 libraries
|
||||
# LZ4_STATIC_LIB, path to liblz4.a
|
||||
# lz4 - static library
|
||||
|
||||
set(LZ4_SEARCH_LIB_PATH
|
||||
${LZ4_ROOT}/lib
|
||||
@@ -61,13 +60,10 @@ if (NOT LZ4_LIBS OR NOT LZ4_STATIC_LIB)
|
||||
set(LZ4_FOUND FALSE)
|
||||
else()
|
||||
set(LZ4_FOUND TRUE)
|
||||
add_library(lz4 STATIC IMPORTED)
|
||||
set_target_properties(lz4 PROPERTIES IMPORTED_LOCATION "${LZ4_STATIC_LIB}")
|
||||
endif ()
|
||||
|
||||
mark_as_advanced(
|
||||
LZ4_INCLUDE_DIR
|
||||
LZ4_LIBS
|
||||
LZ4_STATIC_LIB
|
||||
lz4
|
||||
)
|
||||
|
||||
@@ -1,54 +0,0 @@
|
||||
##############################################################################
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
##############################################################################
|
||||
|
||||
# OPENSSL_ROOT hints the location
|
||||
# Provides
|
||||
# - OPENSSL_LIBRARIES,
|
||||
# - OPENSSL_STATIC,
|
||||
# - OPENSSL_INCLUDE_DIR,
|
||||
# - OPENSSL_FOUND
|
||||
set(_OPENSSL_SEARCH_DIR)
|
||||
|
||||
if (OPENSSL_ROOT)
|
||||
set(_OPENSSL_SEARCH_DIR PATHS ${OPENSSL_ROOT} NO_DEFAULT_PATH)
|
||||
endif()
|
||||
|
||||
find_path(OPENSSL_INCLUDE_DIR openssl/opensslconf.h
|
||||
${_OPENSSL_SEARCH_DIR} PATH_SUFFIXES include)
|
||||
|
||||
# Add dynamic and static libraries
|
||||
find_library(OPENSSL_SSL ssl ${_OPENSSL_SEARCH_DIR} PATH_SUFFIXES lib lib64)
|
||||
find_library(OPENSSL_CRYPTO crypto ${_OPENSSL_SEARCH_DIR} PATH_SUFFIXES lib lib64)
|
||||
|
||||
if (NOT OPENSSL_SSL AND
|
||||
NOT OPENSSL_CRYPTO)
|
||||
message(FATAL_ERROR "OpenSSL not found in ${OPENSSL_ROOT}")
|
||||
set(OPENSSL_FOUND FALSE)
|
||||
else()
|
||||
set(OPENSSL_FOUND TRUE)
|
||||
message(STATUS "OpenSSL: ${OPENSSL_INCLUDE_DIR}")
|
||||
set(OPENSSL_LIBRARIES ${OPENSSL_SSL} ${OPENSSL_CRYPTO})
|
||||
endif()
|
||||
|
||||
mark_as_advanced(
|
||||
OPENSSL_INCLUDE_DIR
|
||||
OPENSSL_LIBRARIES
|
||||
OPENSSL_CRYPTO
|
||||
OPENSSL_SSL
|
||||
)
|
||||
@@ -22,7 +22,6 @@
|
||||
# This module defines
|
||||
# RE2_INCLUDE_DIR, directory containing headers
|
||||
# RE2_STATIC_LIB, path to libsnappy.a
|
||||
# re2 imported static library
|
||||
|
||||
set(RE2_SEARCH_HEADER_PATHS
|
||||
${RE2_ROOT}/include
|
||||
@@ -61,14 +60,11 @@ if (NOT RE2_INCLUDE_DIR OR NOT RE2_LIBS OR
|
||||
"Looked for headers in ${RE2_SEARCH_HEADER_PATH}, "
|
||||
"and for libs in ${RE2_SEARCH_LIB_PATH}")
|
||||
else()
|
||||
set(RE2_FOUND TRUE)
|
||||
add_library(re2 STATIC IMPORTED)
|
||||
set_target_properties(re2 PROPERTIES IMPORTED_LOCATION "${RE2_STATIC_LIB}")
|
||||
set(RE2_FOUND TRUE)
|
||||
endif ()
|
||||
|
||||
mark_as_advanced(
|
||||
RE2_INCLUDE_DIR
|
||||
RE2_LIBS
|
||||
RE2_STATIC_LIB
|
||||
re2
|
||||
)
|
||||
|
||||
@@ -51,18 +51,18 @@ if (CYRUS_SASL_FOUND)
|
||||
# the crypt function is in the system C library: no special linker options required.
|
||||
set(CYRUS_SASL_LIB_DEPS dl)
|
||||
endif ()
|
||||
if (NOT CyrusSASL_FIND_QUIETLY)
|
||||
message(STATUS "Found the CyrusSASL library: ${CYRUS_SASL_SHARED_LIB}")
|
||||
if (NOT SASL_FIND_QUIETLY)
|
||||
message(STATUS "Found the CyrusSASL library: ${SASL_SHARED_LIB}")
|
||||
endif ()
|
||||
else ()
|
||||
if (NOT Sasl_FIND_QUIETLY)
|
||||
if (NOT SASL_FIND_QUIETLY)
|
||||
set(CYRUS_SASL_ERR_MSG "Could not find the CyrusSASL Library.")
|
||||
set(CYRUS_SASL_ERR_MSG "Install libsasl2-dev or cyrus-sasl-devel packages to build.")
|
||||
if (Sasl_FIND_REQUIRED)
|
||||
if (SASL_FIND_REQUIRED)
|
||||
message(FATAL_ERROR "${CYRUS_SASL_ERR_MSG}")
|
||||
else (Sasl_FIND_REQUIRED)
|
||||
else ()
|
||||
message(STATUS "${CYRUS_SASL_ERR_MSG}")
|
||||
endif (Sasl_FIND_REQUIRED)
|
||||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
|
||||
@@ -61,13 +61,10 @@ if (NOT SNAPPY_LIBS OR NOT SNAPPY_STATIC_LIB)
|
||||
set(SNAPPY_FOUND FALSE)
|
||||
else()
|
||||
set(SNAPPY_FOUND TRUE)
|
||||
add_library(snappy STATIC IMPORTED)
|
||||
set_target_properties(snappy PROPERTIES IMPORTED_LOCATION "${SNAPPY_STATIC_LIB}")
|
||||
endif ()
|
||||
|
||||
mark_as_advanced(
|
||||
SNAPPY_INCLUDE_DIR
|
||||
SNAPPY_LIBS
|
||||
SNAPPY_STATIC_LIB
|
||||
snappy
|
||||
)
|
||||
|
||||
@@ -28,7 +28,9 @@
|
||||
# thriftstatic - imported static library
|
||||
|
||||
# prefer the thrift version supplied in THRIFT_HOME
|
||||
message(STATUS "THRIFT_HOME: $ENV{THRIFT_HOME}")
|
||||
if (NOT THRIFT_FIND_QUIETLY)
|
||||
message(STATUS "THRIFT_HOME: $ENV{THRIFT_HOME}")
|
||||
endif()
|
||||
find_path(THRIFT_INCLUDE_DIR thrift/Thrift.h HINTS
|
||||
${THRIFT_ROOT}/include
|
||||
$ENV{THRIFT_HOME}/include/
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
# - ZLIB,
|
||||
# - ZLIB_LIBRARIES,
|
||||
# - ZLIB_STATIC,
|
||||
# - ZLIB_SHARED
|
||||
# - ZLIB_FOUND
|
||||
|
||||
set(_ZLIB_SEARCH_DIR)
|
||||
@@ -34,15 +35,15 @@ find_path(ZLIB_INCLUDE_DIR zlib.h ${_ZLIB_SEARCH_DIR}
|
||||
|
||||
find_library(ZLIB_STATIC_LIBRARIES libz.a
|
||||
${_ZLIB_SEARCH_DIR} PATH_SUFFIXES lib lib64)
|
||||
find_library(ZLIB_SHARED_LIBRARIES libz.so
|
||||
${_ZLIB_SEARCH_DIR} PATH_SUFFIXES lib lib64)
|
||||
|
||||
if (ZLIB_STATIC_LIBRARIES)
|
||||
add_library(ZLIB_STATIC STATIC IMPORTED)
|
||||
set_target_properties(ZLIB_STATIC PROPERTIES
|
||||
IMPORTED_LOCATION ${ZLIB_STATIC_LIBRARIES})
|
||||
set(ZLIB_STATIC_FOUND ON)
|
||||
if (ZLIB_STATIC_LIBRARIES AND ZLIB_SHARED_LIBRARIES)
|
||||
set(ZLIB_FOUND ON)
|
||||
else()
|
||||
set(ZLIB_STATIC_FOUND OFF)
|
||||
set(ZLIB_STATIC ${ZLIB_STATIC_LIBRARIES})
|
||||
message(FATAL_ERROR "zlib headers and libraries NOT found. "
|
||||
"Looked for both ${_ZLIB_SEARCH_DIR}.")
|
||||
set(ZLIB_FOUND OFF)
|
||||
endif()
|
||||
|
||||
set(ZLIB_NAMES z zlib zdll zlib1 zlibd zlibd1)
|
||||
|
||||
@@ -92,12 +92,12 @@ function(ADD_THIRDPARTY_LIB LIB_NAME)
|
||||
add_library(${LIB_NAME} STATIC IMPORTED)
|
||||
set_target_properties(${LIB_NAME}
|
||||
PROPERTIES IMPORTED_LOCATION "${ARG_STATIC_LIB}")
|
||||
message("Added static library dependency ${LIB_NAME}: ${ARG_STATIC_LIB}")
|
||||
message(STATUS "Added static library dependency ${LIB_NAME}: ${ARG_STATIC_LIB}")
|
||||
else()
|
||||
add_library(${LIB_NAME} SHARED IMPORTED)
|
||||
set_target_properties(${LIB_NAME}
|
||||
PROPERTIES IMPORTED_LOCATION "${ARG_SHARED_LIB}")
|
||||
message("Added shared library dependency ${LIB_NAME}: ${ARG_SHARED_LIB}")
|
||||
message(STATUS "Added shared library dependency ${LIB_NAME}: ${ARG_SHARED_LIB}")
|
||||
endif()
|
||||
|
||||
if(ARG_DEPS)
|
||||
|
||||
Reference in New Issue
Block a user