You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by we...@apache.org on 2019/04/04 19:51:20 UTC
[arrow] branch master updated: ARROW-5081: [C++] Use PATH_SUFFIXES
when searching for dependencies
This is an automated email from the ASF dual-hosted git repository.
wesm pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow.git
The following commit(s) were added to refs/heads/master by this push:
new af4f529 ARROW-5081: [C++] Use PATH_SUFFIXES when searching for dependencies
af4f529 is described below
commit af4f52961209a5f1b43a19483536285c957e3bed
Author: David Li <li...@gmail.com>
AuthorDate: Thu Apr 4 14:51:11 2019 -0500
ARROW-5081: [C++] Use PATH_SUFFIXES when searching for dependencies
- Fixes some typos in `Find*.cmake` files
- Use `PATH_SUFFIXES` more consistently when invoking `find_library` or `find_file`.
- If this looks good, I can go ahead and change the rest of the invocations.
- Enable linking against pre-built uriparser
- Enable dynamic linking against dependencies
Author: David Li <li...@gmail.com>
Closes #4092 from lihalite/arrow-5081 and squashes the following commits:
77a3dea4a <David Li> Remove explicit search of Library subdirectories
0feb3daaa <David Li> Enable uriparser to be non-bundled
436daf5d1 <David Li> Use PATH_SUFFIXES when searching for dependencies
---
cpp/cmake_modules/BuildUtils.cmake | 14 ++++++++
cpp/cmake_modules/FindArrow.cmake | 15 +++++---
cpp/cmake_modules/FindArrowCuda.cmake | 6 ++--
cpp/cmake_modules/FindBrotli.cmake | 29 ++++++++-------
cpp/cmake_modules/FindDoubleConversion.cmake | 7 ++--
cpp/cmake_modules/FindFlatbuffersAlt.cmake | 8 ++---
cpp/cmake_modules/FindGLOG.cmake | 17 +++++----
cpp/cmake_modules/FindGPerf.cmake | 2 ++
cpp/cmake_modules/FindGTest.cmake | 1 +
cpp/cmake_modules/FindLz4.cmake | 14 ++++----
cpp/cmake_modules/FindRE2.cmake | 17 +++++----
cpp/cmake_modules/FindSnappyAlt.cmake | 10 ++++--
cpp/cmake_modules/FindZSTD.cmake | 14 ++++----
cpp/cmake_modules/Findc-aresAlt.cmake | 12 +++----
cpp/cmake_modules/FindgRPCAlt.cmake | 49 +++++++++++++++----------
cpp/cmake_modules/FindgflagsAlt.cmake | 12 +++++--
cpp/cmake_modules/Finduriparser.cmake | 53 ++++++++++++++++++++++++++++
17 files changed, 195 insertions(+), 85 deletions(-)
diff --git a/cpp/cmake_modules/BuildUtils.cmake b/cpp/cmake_modules/BuildUtils.cmake
index 0f014ba..90944e6 100644
--- a/cpp/cmake_modules/BuildUtils.cmake
+++ b/cpp/cmake_modules/BuildUtils.cmake
@@ -15,6 +15,20 @@
# specific language governing permissions and limitations
# under the License.
+# Common path suffixes to be searched by find_library or find_path.
+# Windows artifacts may be found under "<root>/Library", so
+# search there as well.
+set(LIB_PATH_SUFFIXES
+ "${CMAKE_LIBRARY_ARCHITECTURE}"
+ "lib64"
+ "lib32"
+ "lib"
+ "bin"
+ "Library",
+ "Library/lib",
+ "Library/bin")
+set(INCLUDE_PATH_SUFFIXES "include" "Library" "Library/include")
+
function(ADD_THIRDPARTY_LIB LIB_NAME)
set(options)
set(one_value_args SHARED_LIB STATIC_LIB)
diff --git a/cpp/cmake_modules/FindArrow.cmake b/cpp/cmake_modules/FindArrow.cmake
index 77ac81c..1b9125f 100644
--- a/cpp/cmake_modules/FindArrow.cmake
+++ b/cpp/cmake_modules/FindArrow.cmake
@@ -61,12 +61,13 @@ else()
NO_DEFAULT_PATH)
endif()
-find_library(ARROW_LIB_PATH NAMES arrow PATHS ${ARROW_SEARCH_LIB_PATH} NO_DEFAULT_PATH)
+find_library(ARROW_LIB_PATH NAMES arrow PATHS ${ARROW_SEARCH_LIB_PATH} PATH_SUFFIXES ${LIB_PATH_SUFFIXES} NO_DEFAULT_PATH)
get_filename_component(ARROW_LIBS ${ARROW_LIB_PATH} DIRECTORY)
find_library(ARROW_PYTHON_LIB_PATH
NAMES arrow_python
PATHS ${ARROW_SEARCH_LIB_PATH}
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES}
NO_DEFAULT_PATH)
get_filename_component(ARROW_PYTHON_LIBS ${ARROW_PYTHON_LIB_PATH} DIRECTORY)
@@ -74,6 +75,7 @@ if(PYARROW_BUILD_FLIGHT)
find_library(ARROW_FLIGHT_LIB_PATH
NAMES arrow_flight
PATHS ${ARROW_SEARCH_LIB_PATH}
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES}
NO_DEFAULT_PATH)
get_filename_component(ARROW_FLIGHT_LIBS ${ARROW_FLIGHT_LIB_PATH} DIRECTORY)
endif()
@@ -85,17 +87,20 @@ if(MSVC)
set(ARROW_MSVC_STATIC_LIB_SUFFIX "_static")
endif()
+ # Prioritize "/bin" over LIB_PATH_SUFFIXES - DLL files are installed
+ # in "/bin" and static objects are in "/lib", so we want to search
+ # "/bin" first
find_library(ARROW_SHARED_LIBRARIES
NAMES arrow
PATHS ${ARROW_HOME}
- NO_DEFAULT_PATH
- PATH_SUFFIXES "bin")
+ PATH_SUFFIXES "bin" ${LIB_PATH_SUFFIXES}
+ NO_DEFAULT_PATH)
find_library(ARROW_PYTHON_SHARED_LIBRARIES
NAMES arrow_python
PATHS ${ARROW_HOME}
- NO_DEFAULT_PATH
- PATH_SUFFIXES "bin")
+ PATH_SUFFIXES "bin" ${LIB_PATH_SUFFIXES}
+ NO_DEFAULT_PATH)
get_filename_component(ARROW_SHARED_LIBS ${ARROW_SHARED_LIBRARIES} PATH)
get_filename_component(ARROW_PYTHON_SHARED_LIBS ${ARROW_PYTHON_SHARED_LIBRARIES} PATH)
endif()
diff --git a/cpp/cmake_modules/FindArrowCuda.cmake b/cpp/cmake_modules/FindArrowCuda.cmake
index 5ed9dd9..8db6a14 100644
--- a/cpp/cmake_modules/FindArrowCuda.cmake
+++ b/cpp/cmake_modules/FindArrowCuda.cmake
@@ -49,6 +49,7 @@ endif()
find_path(ARROW_CUDA_INCLUDE_DIR arrow/gpu/cuda_api.h
PATHS ${ARROW_SEARCH_HEADER_PATHS}
+ PATH_SUFFIXES ${INCLUDE_PATH_SUFFIXES}
NO_DEFAULT_PATH)
if(NOT (ARROW_CUDA_INCLUDE_DIR STREQUAL ARROW_INCLUDE_DIR))
@@ -63,6 +64,7 @@ endif()
find_library(ARROW_CUDA_LIB_PATH
NAMES arrow_cuda
PATHS ${ARROW_SEARCH_LIB_PATH}
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES}
NO_DEFAULT_PATH)
get_filename_component(ARROW_CUDA_LIBS ${ARROW_CUDA_LIB_PATH} DIRECTORY)
@@ -70,8 +72,8 @@ if(MSVC)
find_library(ARROW_CUDA_SHARED_LIBRARIES
NAMES arrow_cuda
PATHS ${ARROW_HOME}
- NO_DEFAULT_PATH
- PATH_SUFFIXES "bin")
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES}
+ NO_DEFAULT_PATH)
get_filename_component(ARROW_CUDA_SHARED_LIBS ${ARROW_CUDA_SHARED_LIBRARIES} PATH)
endif()
diff --git a/cpp/cmake_modules/FindBrotli.cmake b/cpp/cmake_modules/FindBrotli.cmake
index e1429a2..39e4ff4 100644
--- a/cpp/cmake_modules/FindBrotli.cmake
+++ b/cpp/cmake_modules/FindBrotli.cmake
@@ -28,12 +28,15 @@ if(BROTLI_PC_FOUND)
find_library(BROTLI_COMMON_LIBRARY brotlicommon
PATHS ${BROTLI_PC_LIBRARY_DIRS}
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES}
NO_DEFAULT_PATH)
find_library(BROTLI_ENC_LIBRARY brotlienc
PATHS ${BROTLI_PC_LIBRARY_DIRS}
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES}
NO_DEFAULT_PATH)
find_library(BROTLI_DEC_LIBRARY brotlidec
PATHS ${BROTLI_PC_LIBRARY_DIRS}
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES}
NO_DEFAULT_PATH)
elseif(BROTLI_ROOT)
find_library(
@@ -43,8 +46,8 @@ elseif(BROTLI_ROOT)
${CMAKE_STATIC_LIBRARY_PREFIX}brotlicommon${CMAKE_STATIC_LIBRARY_SUFFIX}
${CMAKE_STATIC_LIBRARY_PREFIX}brotlicommon-static${CMAKE_STATIC_LIBRARY_SUFFIX}
${CMAKE_STATIC_LIBRARY_PREFIX}brotlicommon_static${CMAKE_STATIC_LIBRARY_SUFFIX}
- PATHS ${BROTLI_ROOT} "${BROTLI_ROOT}/Library"
- PATH_SUFFIXES "lib64" "lib" "bin"
+ PATHS ${BROTLI_ROOT}
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES}
NO_DEFAULT_PATH)
find_library(
BROTLI_ENC_LIBRARY
@@ -53,8 +56,8 @@ elseif(BROTLI_ROOT)
${CMAKE_STATIC_LIBRARY_PREFIX}brotlienc${CMAKE_STATIC_LIBRARY_SUFFIX}
${CMAKE_STATIC_LIBRARY_PREFIX}brotlienc-static${CMAKE_STATIC_LIBRARY_SUFFIX}
${CMAKE_STATIC_LIBRARY_PREFIX}brotlienc_static${CMAKE_STATIC_LIBRARY_SUFFIX}
- PATHS ${BROTLI_ROOT} "${BROTLI_ROOT}/Library"
- PATH_SUFFIXES "lib64" "lib" "bin"
+ PATHS ${BROTLI_ROOT}
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES}
NO_DEFAULT_PATH)
find_library(
BROTLI_DEC_LIBRARY
@@ -63,14 +66,14 @@ elseif(BROTLI_ROOT)
${CMAKE_STATIC_LIBRARY_PREFIX}brotlidec${CMAKE_STATIC_LIBRARY_SUFFIX}
${CMAKE_STATIC_LIBRARY_PREFIX}brotlidec-static${CMAKE_STATIC_LIBRARY_SUFFIX}
${CMAKE_STATIC_LIBRARY_PREFIX}brotlidec_static${CMAKE_STATIC_LIBRARY_SUFFIX}
- PATHS ${BROTLI_ROOT} "${BROTLI_ROOT}/Library"
- PATH_SUFFIXES "lib64" "lib" "bin"
+ PATHS ${BROTLI_ROOT}
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES}
NO_DEFAULT_PATH)
find_path(BROTLI_INCLUDE_DIR
NAMES brotli/decode.h
- PATHS ${BROTLI_ROOT} "${BROTLI_ROOT}/Library"
+ PATHS ${BROTLI_ROOT}
NO_DEFAULT_PATH
- PATH_SUFFIXES "include")
+ PATH_SUFFIXES ${INCLUDE_PATH_SUFFIXES})
else()
find_library(
BROTLI_COMMON_LIBRARY
@@ -79,7 +82,7 @@ else()
${CMAKE_STATIC_LIBRARY_PREFIX}brotlicommon${CMAKE_STATIC_LIBRARY_SUFFIX}
${CMAKE_STATIC_LIBRARY_PREFIX}brotlicommon-static${CMAKE_STATIC_LIBRARY_SUFFIX}
${CMAKE_STATIC_LIBRARY_PREFIX}brotlicommon_static${CMAKE_STATIC_LIBRARY_SUFFIX}
- PATH_SUFFIXES "lib64" "lib" "bin")
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES})
find_library(
BROTLI_ENC_LIBRARY
NAMES brotlienc
@@ -87,7 +90,7 @@ else()
${CMAKE_STATIC_LIBRARY_PREFIX}brotlienc${CMAKE_STATIC_LIBRARY_SUFFIX}
${CMAKE_STATIC_LIBRARY_PREFIX}brotlienc-static${CMAKE_STATIC_LIBRARY_SUFFIX}
${CMAKE_STATIC_LIBRARY_PREFIX}brotlienc_static${CMAKE_STATIC_LIBRARY_SUFFIX}
- PATH_SUFFIXES "lib64" "lib" "bin")
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES})
find_library(
BROTLI_DEC_LIBRARY
NAMES brotlidec
@@ -95,8 +98,10 @@ else()
${CMAKE_STATIC_LIBRARY_PREFIX}brotlidec${CMAKE_STATIC_LIBRARY_SUFFIX}
${CMAKE_STATIC_LIBRARY_PREFIX}brotlidec-static${CMAKE_STATIC_LIBRARY_SUFFIX}
${CMAKE_STATIC_LIBRARY_PREFIX}brotlidec_static${CMAKE_STATIC_LIBRARY_SUFFIX}
- PATH_SUFFIXES "lib64" "lib" "bin")
- find_path(BROTLI_INCLUDE_DIR NAMES brotli/decode.h PATH_SUFFIXES "include")
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES})
+ find_path(BROTLI_INCLUDE_DIR
+ NAMES brotli/decode.h
+ PATH_SUFFIXES ${INCLUDE_PATH_SUFFIXES})
endif()
find_package_handle_standard_args(Brotli
diff --git a/cpp/cmake_modules/FindDoubleConversion.cmake b/cpp/cmake_modules/FindDoubleConversion.cmake
index 8e21867..d5d2035 100644
--- a/cpp/cmake_modules/FindDoubleConversion.cmake
+++ b/cpp/cmake_modules/FindDoubleConversion.cmake
@@ -19,17 +19,18 @@ if(DoubleConversion_ROOT)
find_library(DoubleConversion_LIB
NAMES double-conversion
PATHS ${DoubleConversion_ROOT}
- NO_DEFAULT_PATH)
+ NO_DEFAULT_PATH
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES})
find_path(DoubleConversion_INCLUDE_DIR
NAMES double-conversion/double-conversion.h
PATHS ${DoubleConversion_ROOT}
NO_DEFAULT_PATH
- PATH_SUFFIXES "include")
+ PATH_SUFFIXES ${INCLUDE_PATH_SUFFIXES})
else()
find_library(DoubleConversion_LIB NAMES double-conversion)
find_path(DoubleConversion_INCLUDE_DIR
NAMES double-conversion/double-conversion.h
- PATH_SUFFIXES "include")
+ PATH_SUFFIXES ${INCLUDE_PATH_SUFFIXES})
endif()
find_package_handle_standard_args(DoubleConversion REQUIRED_VARS DoubleConversion_LIB
diff --git a/cpp/cmake_modules/FindFlatbuffersAlt.cmake b/cpp/cmake_modules/FindFlatbuffersAlt.cmake
index 245f94a..c551c1c 100644
--- a/cpp/cmake_modules/FindFlatbuffersAlt.cmake
+++ b/cpp/cmake_modules/FindFlatbuffersAlt.cmake
@@ -20,22 +20,22 @@ if(Flatbuffers_ROOT)
NAMES flatbuffers
PATHS ${Flatbuffers_ROOT}
NO_DEFAULT_PATH
- PATH_SUFFIXES "lib")
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES})
find_path(FLATBUFFERS_INCLUDE_DIR
NAMES flatbuffers/flatbuffers.h
PATHS ${Flatbuffers_ROOT}
NO_DEFAULT_PATH
- PATH_SUFFIXES "include")
+ PATH_SUFFIXES ${INCLUDE_PATH_SUFFIXES})
find_program(FLATC
NAMES flatc
PATHS ${Flatbuffers_ROOT}
NO_DEFAULT_PATH
PATH_SUFFIXES "bin")
else()
- find_library(FLATBUFFERS_LIB NAMES flatbuffers)
+ find_library(FLATBUFFERS_LIB NAMES flatbuffers PATH_SUFFIXES ${LIB_PATH_SUFFIXES})
find_path(FLATBUFFERS_INCLUDE_DIR
NAMES flatbuffers/flatbuffers.h
- PATH_SUFFIXES "include")
+ PATH_SUFFIXES ${INCLUDE_PATH_SUFFIXES})
find_program(FLATC NAMES flatc PATHS PATH_SUFFIXES "bin")
endif()
diff --git a/cpp/cmake_modules/FindGLOG.cmake b/cpp/cmake_modules/FindGLOG.cmake
index 2efc5e1..c5aa11b 100644
--- a/cpp/cmake_modules/FindGLOG.cmake
+++ b/cpp/cmake_modules/FindGLOG.cmake
@@ -21,21 +21,24 @@ pkg_check_modules(GLOG_PC libglog)
if(GLOG_PC_FOUND)
set(GLOG_INCLUDE_DIR "${GLOG_PC_INCLUDEDIR}")
list(APPEND GLOG_PC_LIBRARY_DIRS "${GLOG_PC_LIBDIR}")
- find_library(GLOG_LIB glog PATHS ${GLOG_PC_LIBRARY_DIRS} NO_DEFAULT_PATH)
+ find_library(GLOG_LIB glog
+ PATHS ${GLOG_PC_LIBRARY_DIRS}
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES}
+ NO_DEFAULT_PATH)
elseif(GLOG_ROOT)
find_library(GLOG_LIB
NAMES glog
- PATHS ${GLOG_ROOT} "${GLOG_ROOT}/Library"
- PATH_SUFFIXES "lib64" "lib" "bin"
+ PATHS ${GLOG_ROOT}
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES}
NO_DEFAULT_PATH)
find_path(GLOG_INCLUDE_DIR
NAMES glog/logging.h
- PATHS ${GLOG_ROOT} "${GLOG_ROOT}/Library"
+ PATHS ${GLOG_ROOT}
NO_DEFAULT_PATH
- PATH_SUFFIXES "include")
+ PATH_SUFFIXES ${INCLUDE_PATH_SUFFIXES})
else()
- find_library(GLOG_LIB NAMES glog PATH_SUFFIXES "lib64" "lib" "bin")
- find_path(GLOG_INCLUDE_DIR NAMES glog/logging.h PATH_SUFFIXES "include")
+ find_library(GLOG_LIB NAMES glog PATH_SUFFIXES ${LIB_PATH_SUFFIXES})
+ find_path(GLOG_INCLUDE_DIR NAMES glog/logging.h PATH_SUFFIXES ${INCLUDE_PATH_SUFFIXES})
endif()
find_package_handle_standard_args(GLOG REQUIRED_VARS GLOG_INCLUDE_DIR GLOG_LIB)
diff --git a/cpp/cmake_modules/FindGPerf.cmake b/cpp/cmake_modules/FindGPerf.cmake
index e90d4d0..96e507f 100644
--- a/cpp/cmake_modules/FindGPerf.cmake
+++ b/cpp/cmake_modules/FindGPerf.cmake
@@ -35,6 +35,7 @@ SET(GPERF_LIB_SEARCH $ENV{NATIVE_TOOLCHAIN}/gperftools-$ENV{GPERFTOOLS_VERSION}/
FIND_LIBRARY(TCMALLOC_LIB_PATH
NAMES libtcmalloc.a
PATHS ${GPERF_LIB_SEARCH}
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES}
NO_DEFAULT_PATH
)
@@ -51,6 +52,7 @@ ENDIF (TCMALLOC_LIB_PATH AND GOOGLE_PERFTOOLS_INCLUDE_DIR)
FIND_LIBRARY(PROFILER_LIB_PATH
NAMES libprofiler.a
PATHS ${GPERF_LIB_SEARCH}
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES}
)
IF (PROFILER_LIB_PATH AND GOOGLE_PERFTOOLS_INCLUDE_DIR)
diff --git a/cpp/cmake_modules/FindGTest.cmake b/cpp/cmake_modules/FindGTest.cmake
index 4086dd9..d746e40 100644
--- a/cpp/cmake_modules/FindGTest.cmake
+++ b/cpp/cmake_modules/FindGTest.cmake
@@ -194,6 +194,7 @@ find_path(GTEST_INCLUDE_DIR gtest/gtest.h
HINTS
$ENV{GTEST_ROOT}/include
${GTEST_ROOT}/include
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES}
)
mark_as_advanced(GTEST_INCLUDE_DIR)
diff --git a/cpp/cmake_modules/FindLz4.cmake b/cpp/cmake_modules/FindLz4.cmake
index 3606f5c..484466e 100644
--- a/cpp/cmake_modules/FindLz4.cmake
+++ b/cpp/cmake_modules/FindLz4.cmake
@@ -31,27 +31,27 @@ if(LZ4_PC_FOUND)
find_library(LZ4_LIB lz4
PATHS ${LZ4_PC_LIBRARY_DIRS}
NO_DEFAULT_PATH
- PATH_SUFFIXES "${CMAKE_LIBRARY_ARCHITECTURE}")
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES})
elseif(LZ4_ROOT)
find_library(
LZ4_LIB
NAMES lz4 ${LZ4_STATIC_LIB_NAME} lib${LZ4_STATIC_LIB_NAME}
"${CMAKE_SHARED_LIBRARY_PREFIX}lz4_static${CMAKE_SHARED_LIBRARY_SUFFIX}"
- PATHS ${LZ4_ROOT} "${LZ4_ROOT}/Library"
- PATH_SUFFIXES "lib64" "lib" "bin"
+ PATHS ${LZ4_ROOT}
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES}
NO_DEFAULT_PATH)
find_path(LZ4_INCLUDE_DIR
NAMES lz4.h
- PATHS ${LZ4_ROOT} "${LZ4_ROOT}/Library"
+ PATHS ${LZ4_ROOT}
NO_DEFAULT_PATH
- PATH_SUFFIXES "include")
+ PATH_SUFFIXES ${INCLUDE_PATH_SUFFIXES})
else()
find_library(
LZ4_LIB
NAMES lz4 ${LZ4_STATIC_LIB_NAME} lib${LZ4_STATIC_LIB_NAME}
"${CMAKE_SHARED_LIBRARY_PREFIX}lz4_static${CMAKE_SHARED_LIBRARY_SUFFIX}"
- PATH_SUFFIXES "lib64" "lib" "bin")
- find_path(LZ4_INCLUDE_DIR NAMES lz4.h PATH_SUFFIXES "include")
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES})
+ find_path(LZ4_INCLUDE_DIR NAMES lz4.h PATH_SUFFIXES ${INCLUDE_PATH_SUFFIXES})
endif()
find_package_handle_standard_args(Lz4 REQUIRED_VARS LZ4_LIB LZ4_INCLUDE_DIR)
diff --git a/cpp/cmake_modules/FindRE2.cmake b/cpp/cmake_modules/FindRE2.cmake
index 79f2216..8fab995 100644
--- a/cpp/cmake_modules/FindRE2.cmake
+++ b/cpp/cmake_modules/FindRE2.cmake
@@ -20,7 +20,10 @@ if(RE2_PC_FOUND)
set(RE2_INCLUDE_DIR "${RE2_PC_INCLUDEDIR}")
list(APPEND RE2_PC_LIBRARY_DIRS "${RE2_PC_LIBDIR}")
- find_library(RE2_LIB re2 PATHS ${RE2_PC_LIBRARY_DIRS} NO_DEFAULT_PATH)
+ find_library(RE2_LIB re2
+ PATHS ${RE2_PC_LIBRARY_DIRS}
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES}
+ NO_DEFAULT_PATH)
# On Fedora, the reported prefix is wrong. As users likely run into this,
# workaround.
@@ -37,14 +40,14 @@ elseif(RE2_ROOT)
re2
"${CMAKE_STATIC_LIBRARY_PREFIX}re2${RE2_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}"
"${CMAKE_SHARED_LIBRARY_PREFIX}re2${CMAKE_SHARED_LIBRARY_SUFFIX}"
- PATHS ${RE2_ROOT} "${RE2_ROOT}/Library"
- PATH_SUFFIXES "lib64" "lib" "bin"
+ PATHS ${RE2_ROOT}
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES}
NO_DEFAULT_PATH)
find_path(RE2_INCLUDE_DIR
NAMES re2/re2.h
- PATHS ${RE2_ROOT} "${RE2_ROOT}/Library"
+ PATHS ${RE2_ROOT}
NO_DEFAULT_PATH
- PATH_SUFFIXES "include")
+ PATH_SUFFIXES ${INCLUDE_PATH_SUFFIXES})
else()
find_library(
RE2_LIB
@@ -52,8 +55,8 @@ else()
re2
"${CMAKE_STATIC_LIBRARY_PREFIX}re2${RE2_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}"
"${CMAKE_SHARED_LIBRARY_PREFIX}re2${CMAKE_SHARED_LIBRARY_SUFFIX}"
- PATH_SUFFIXES "lib64" "lib" "bin")
- find_path(RE2_INCLUDE_DIR NAMES re2/re2.h PATH_SUFFIXES "include")
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES})
+ find_path(RE2_INCLUDE_DIR NAMES re2/re2.h PATH_SUFFIXES ${INCLUDE_PATH_SUFFIXES})
endif()
find_package_handle_standard_args(RE2 REQUIRED_VARS RE2_LIB RE2_INCLUDE_DIR)
diff --git a/cpp/cmake_modules/FindSnappyAlt.cmake b/cpp/cmake_modules/FindSnappyAlt.cmake
index ffe40e0..019c879 100644
--- a/cpp/cmake_modules/FindSnappyAlt.cmake
+++ b/cpp/cmake_modules/FindSnappyAlt.cmake
@@ -16,15 +16,19 @@
# under the License.
if(Snappy_ROOT)
- find_library(Snappy_LIB NAMES snappy PATHS ${Snappy_ROOT} NO_DEFAULT_PATH)
+ find_library(Snappy_LIB
+ NAMES snappy
+ PATHS ${Snappy_ROOT}
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES}
+ NO_DEFAULT_PATH)
find_path(Snappy_INCLUDE_DIR
NAMES snappy.h
PATHS ${Snappy_ROOT}
NO_DEFAULT_PATH
- PATH_SUFFIXES "include")
+ PATH_SUFFIXES ${INCLUDE_PATH_SUFFIXES})
else()
find_library(Snappy_LIB NAMES snappy)
- find_path(Snappy_INCLUDE_DIR NAMES snappy.h PATH_SUFFIXES "include")
+ find_path(Snappy_INCLUDE_DIR NAMES snappy.h PATH_SUFFIXES ${INCLUDE_PATH_SUFFIXES})
endif()
find_package_handle_standard_args(SnappyAlt REQUIRED_VARS Snappy_LIB Snappy_INCLUDE_DIR)
diff --git a/cpp/cmake_modules/FindZSTD.cmake b/cpp/cmake_modules/FindZSTD.cmake
index 17b58a3..936016f 100644
--- a/cpp/cmake_modules/FindZSTD.cmake
+++ b/cpp/cmake_modules/FindZSTD.cmake
@@ -30,26 +30,26 @@ if(ZSTD_PC_FOUND)
find_library(ZSTD_LIB zstd
PATHS ${ZSTD_PC_LIBRARY_DIRS}
NO_DEFAULT_PATH
- PATH_SUFFIXES "${CMAKE_LIBRARY_ARCHITECTURE}")
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES})
elseif(ZSTD_ROOT)
message(STATUS "Using ZSTD_ROOT: ${ZSTD_ROOT}")
find_library(ZSTD_LIB
NAMES zstd "${ZSTD_STATIC_LIB_NAME}" "lib${ZSTD_STATIC_LIB_NAME}"
"${CMAKE_SHARED_LIBRARY_PREFIX}zstd${CMAKE_SHARED_LIBRARY_SUFFIX}"
- PATHS ${ZSTD_ROOT} "${ZSTD_ROOT}/Library"
- PATH_SUFFIXES "lib64" "lib" "bin"
+ PATHS ${ZSTD_ROOT}
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES}
NO_DEFAULT_PATH)
find_path(ZSTD_INCLUDE_DIR
NAMES zstd.h
- PATHS ${ZSTD_ROOT} "${ZSTD_ROOT}/Library"
+ PATHS ${ZSTD_ROOT}
NO_DEFAULT_PATH
- PATH_SUFFIXES "include")
+ PATH_SUFFIXES ${INCLUDE_PATH_SUFFIXES})
else()
find_library(ZSTD_LIB
NAMES zstd "${ZSTD_STATIC_LIB_NAME}" "lib${ZSTD_STATIC_LIB_NAME}"
"${CMAKE_SHARED_LIBRARY_PREFIX}zstd${CMAKE_SHARED_LIBRARY_SUFFIX}"
- PATH_SUFFIXES "lib64" "lib" "bin")
- find_path(ZSTD_INCLUDE_DIR NAMES zstd.h PATH_SUFFIXES "include")
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES})
+ find_path(ZSTD_INCLUDE_DIR NAMES zstd.h PATH_SUFFIXES ${INCLUDE_PATH_SUFFIXES})
endif()
find_package_handle_standard_args(ZSTD REQUIRED_VARS ZSTD_LIB ZSTD_INCLUDE_DIR)
diff --git a/cpp/cmake_modules/Findc-aresAlt.cmake b/cpp/cmake_modules/Findc-aresAlt.cmake
index f31dfef..a769fb5 100644
--- a/cpp/cmake_modules/Findc-aresAlt.cmake
+++ b/cpp/cmake_modules/Findc-aresAlt.cmake
@@ -18,17 +18,17 @@
if(c-ares_ROOT)
find_library(CARES_LIB
NAMES cares
- PATHS ${c-ares_ROOT} "${c-ares_ROOT}/Library"
- PATH_SUFFIXES "lib64" "lib" "bin"
+ PATHS ${c-ares_ROOT}
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES}
NO_DEFAULT_PATH)
find_path(CARES_INCLUDE_DIR
NAMES ares.h
- PATHS ${CARES_ROOT} "${CARES_ROOT}/Library"
+ PATHS ${c-ares_ROOT}
NO_DEFAULT_PATH
- PATH_SUFFIXES "include")
+ PATH_SUFFIXES ${INCLUDE_PATH_SUFFIXES})
else()
- find_library(CARES_LIB NAMES cares PATH_SUFFIXES "lib64" "lib" "bin")
- find_path(CARES_INCLUDE_DIR NAMES ares.h PATH_SUFFIXES "include")
+ find_library(CARES_LIB NAMES cares PATH_SUFFIXES ${LIB_PATH_SUFFIXES})
+ find_path(CARES_INCLUDE_DIR NAMES ares.h PATH_SUFFIXES ${INCLUDE_PATH_SUFFIXES})
endif()
find_package_handle_standard_args(c-aresAlt REQUIRED_VARS CARES_INCLUDE_DIR CARES_LIB)
diff --git a/cpp/cmake_modules/FindgRPCAlt.cmake b/cpp/cmake_modules/FindgRPCAlt.cmake
index 5bb4b27..5d0ec84 100644
--- a/cpp/cmake_modules/FindgRPCAlt.cmake
+++ b/cpp/cmake_modules/FindgRPCAlt.cmake
@@ -17,11 +17,21 @@ if(GRPC_PC_FOUND)
list(APPEND GRPC_PC_LIBRARY_DIRS "${GRPC_PC_LIBDIR}")
message(STATUS "${GRPC_PC_LIBRARY_DIRS}")
- find_library(GRPC_GPR_LIB gpr PATHS ${GRPC_PC_LIBRARY_DIRS} NO_DEFAULT_PATH)
- find_library(GRPC_GRPC_LIB grpc PATHS ${GRPC_PC_LIBRARY_DIRS} NO_DEFAULT_PATH)
- find_library(GRPC_GRPCPP_LIB grpc++ PATHS ${GRPC_PC_LIBRARY_DIRS} NO_DEFAULT_PATH)
+ find_library(GRPC_GPR_LIB gpr
+ PATHS ${GRPC_PC_LIBRARY_DIRS}
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES}
+ NO_DEFAULT_PATH)
+ find_library(GRPC_GRPC_LIB grpc
+ PATHS ${GRPC_PC_LIBRARY_DIRS}
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES}
+ NO_DEFAULT_PATH)
+ find_library(GRPC_GRPCPP_LIB grpc++
+ PATHS ${GRPC_PC_LIBRARY_DIRS}
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES}
+ NO_DEFAULT_PATH)
find_library(GRPC_ADDRESS_SORTING_LIB address_sorting
PATHS ${GRPC_PC_LIBRARY_DIRS}
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES}
NO_DEFAULT_PATH)
find_program(GRPC_CPP_PLUGIN grpc_cpp_plugin
HINTS ${GRPC_PC_PREFIX}
@@ -29,36 +39,37 @@ if(GRPC_PC_FOUND)
PATH_SUFFIXES "bin")
elseif(gRPC_ROOT)
find_library(GRPC_GPR_LIB gpr
- PATHS ${GRPC_ROOT} "${GRPC_ROOT}/Library"
- PATH_SUFFIXES "lib64" "lib" "bin"
+ PATHS ${gRPC_ROOT}
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES}
NO_DEFAULT_PATH)
find_library(GRPC_GRPC_LIB grpc
- PATHS ${GRPC_ROOT} "${GRPC_ROOT}/Library"
- PATH_SUFFIXES "lib64" "lib" "bin"
+ PATHS ${gRPC_ROOT}
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES}
NO_DEFAULT_PATH)
find_library(GRPC_GRPCPP_LIB grpc++
- PATHS ${GRPC_ROOT} "${GRPC_ROOT}/Library"
- PATH_SUFFIXES "lib64" "lib" "bin"
+ PATHS ${gRPC_ROOT}
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES}
NO_DEFAULT_PATH)
find_library(GRPC_ADDRESS_SORTING_LIB address_sorting
- PATHS ${GRPC_ROOT} "${GRPC_ROOT}/Library"
- PATH_SUFFIXES "lib64" "lib" "bin"
+ PATHS ${gRPC_ROOT}
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES}
NO_DEFAULT_PATH)
find_program(GRPC_CPP_PLUGIN grpc_cpp_plugin NO_DEFAULT_PATH
- PATHS ${GRPC_ROOT} "${GRPC_ROOT}/Library"
+ PATHS ${gRPC_ROOT}
PATH_SUFFIXES "bin")
find_path(GRPC_INCLUDE_DIR
NAMES grpc/grpc.h
- PATHS ${GRPC_ROOT} "${GRPC_ROOT}/Library"
+ PATHS ${gRPC_ROOT}
NO_DEFAULT_PATH
- PATH_SUFFIXES "include")
+ PATH_SUFFIXES ${INCLUDE_PATH_SUFFIXES})
else()
- find_library(GRPC_GPR_LIB gpr PATH_SUFFIXES "lib64" "lib" "bin")
- find_library(GRPC_GRPC_LIB grpc PATH_SUFFIXES "lib64" "lib" "bin")
- find_library(GRPC_GRPCPP_LIB grpc++ PATH_SUFFIXES "lib64" "lib" "bin")
- find_library(GRPC_ADDRESS_SORTING_LIB address_sorting PATH_SUFFIXES "lib64" "lib" "bin")
+ find_library(GRPC_GPR_LIB gpr PATH_SUFFIXES ${LIB_PATH_SUFFIXES})
+ find_library(GRPC_GRPC_LIB grpc PATH_SUFFIXES ${LIB_PATH_SUFFIXES})
+ find_library(GRPC_GRPCPP_LIB grpc++ PATH_SUFFIXES ${LIB_PATH_SUFFIXES})
+ find_library(GRPC_ADDRESS_SORTING_LIB address_sorting
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES})
find_program(GRPC_CPP_PLUGIN grpc_cpp_plugin PATH_SUFFIXES "bin")
- find_path(GRPC_INCLUDE_DIR NAMES grpc/grpc.h PATH_SUFFIXES "include")
+ find_path(GRPC_INCLUDE_DIR NAMES grpc/grpc.h PATH_SUFFIXES ${INCLUDE_PATH_SUFFIXES})
endif()
find_package_handle_standard_args(gRPCAlt
diff --git a/cpp/cmake_modules/FindgflagsAlt.cmake b/cpp/cmake_modules/FindgflagsAlt.cmake
index a9b8684..dfd64f8 100644
--- a/cpp/cmake_modules/FindgflagsAlt.cmake
+++ b/cpp/cmake_modules/FindgflagsAlt.cmake
@@ -16,15 +16,21 @@
# under the License.
if(gflags_ROOT)
- find_library(gflags_LIB NAMES gflags PATHS ${gflags_ROOT} NO_DEFAULT_PATH)
+ find_library(gflags_LIB
+ NAMES gflags
+ PATHS ${gflags_ROOT}
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES}
+ NO_DEFAULT_PATH)
find_path(GFLAGS_INCLUDE_DIR
NAMES gflags/gflags.h
PATHS ${gflags_ROOT}
NO_DEFAULT_PATH
- PATH_SUFFIXES "include")
+ PATH_SUFFIXES ${INCLUDE_PATH_SUFFIXES})
else()
find_library(gflags_LIB NAMES gflags)
- find_path(GFLAGS_INCLUDE_DIR NAMES gflags/gflags.h PATH_SUFFIXES "include")
+ find_path(GFLAGS_INCLUDE_DIR
+ NAMES gflags/gflags.h
+ PATH_SUFFIXES ${INCLUDE_PATH_SUFFIXES})
endif()
find_package_handle_standard_args(gflagsAlt REQUIRED_VARS gflags_LIB GFLAGS_INCLUDE_DIR)
diff --git a/cpp/cmake_modules/Finduriparser.cmake b/cpp/cmake_modules/Finduriparser.cmake
new file mode 100644
index 0000000..a24cca4
--- /dev/null
+++ b/cpp/cmake_modules/Finduriparser.cmake
@@ -0,0 +1,53 @@
+# 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.
+
+pkg_check_modules(uriparser_PC liburiparser)
+if(uriparser_PC_FOUND)
+ set(uriparser_INCLUDE_DIR "${uriparser_PC_INCLUDEDIR}")
+
+ list(APPEND uriparser_PC_LIBRARY_DIRS "${uriparser_PC_LIBDIR}")
+ find_library(uriparser_LIB uriparser
+ PATHS ${uriparser_PC_LIBRARY_DIRS}
+ NO_DEFAULT_PATH
+ PATH_SUFFIXES "${CMAKE_LIBRARY_ARCHITECTURE}")
+elseif(uriparser_ROOT)
+ message(STATUS "Using uriparser_ROOT: ${uriparser_ROOT}")
+ find_library(uriparser_LIB
+ NAMES uriparser
+ PATHS ${uriparser_ROOT}
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES}
+ NO_DEFAULT_PATH)
+ find_path(uriparser_INCLUDE_DIR
+ NAMES uriparser/Uri.h
+ PATHS ${uriparser_ROOT}
+ NO_DEFAULT_PATH
+ PATH_SUFFIXES ${INCLUDE_PATH_SUFFIXES})
+else()
+ find_library(uriparser_LIB
+ NAMES uriparser
+ PATH_SUFFIXES ${LIB_PATH_SUFFIXES})
+ find_path(uriparser_INCLUDE_DIR NAMES uriparser/Uri.h PATH_SUFFIXES ${INCLUDE_PATH_SUFFIXES})
+endif()
+
+find_package_handle_standard_args(uriparser REQUIRED_VARS uriparser_LIB uriparser_INCLUDE_DIR)
+
+if(uriparser_FOUND)
+ add_library(uriparser::uriparser UNKNOWN IMPORTED)
+ set_target_properties(uriparser::uriparser
+ PROPERTIES IMPORTED_LOCATION "${uriparser_LIB}"
+ INTERFACE_INCLUDE_DIRECTORIES "${uriparser_INCLUDE_DIR}")
+endif()