mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-11-25 22:18:59 +08:00
4260eaf6fa
* Cherry picked WiP (Update to arrow-2.0.0) * Point to arrow-3.0.0 files * Add missing re2 dependency. Sort dependency list alphabetically. * Configure ARROW_SNAPPY_USE_SHARED * Configure ARROW_THRIFT_USE_SHARED * Spaces vs tabs. * Fix Thrift and Lz4 library finding logic. * Fix debug arrow (shared) linking against release snappy. Tell CI x86 is not supported. * Fix debug arrow (shared) linking against release snappy (for real this time). * Fix linux build not finding Lz4. * Fix thrift finding on Linux (was pointing to an intermediate dir) * Try to fix macOS 10.x build. * Update port_versions. * update version * update version Co-authored-by: Jonliu1993 <13720414433@163.com>
183 lines
7.6 KiB
Diff
183 lines
7.6 KiB
Diff
diff --git a/cpp/cmake_modules/BuildUtils.cmake b/cpp/cmake_modules/BuildUtils.cmake
|
|
index e59b4a38a..9bd895608 100644
|
|
--- a/cpp/cmake_modules/BuildUtils.cmake
|
|
+++ b/cpp/cmake_modules/BuildUtils.cmake
|
|
@@ -440,7 +440,7 @@ function(ADD_ARROW_LIB LIB_NAME)
|
|
target_include_directories(${LIB_NAME}_static PRIVATE ${ARG_PRIVATE_INCLUDES})
|
|
endif()
|
|
|
|
- if(MSVC_TOOLCHAIN)
|
|
+ if(MSVC_TOOLCHAIN AND 0)
|
|
set(LIB_NAME_STATIC ${LIB_NAME}_static)
|
|
else()
|
|
set(LIB_NAME_STATIC ${LIB_NAME})
|
|
diff --git a/cpp/cmake_modules/FindBrotli.cmake b/cpp/cmake_modules/FindBrotli.cmake
|
|
index b46a0f1a0..3d87f5204 100644
|
|
--- a/cpp/cmake_modules/FindBrotli.cmake
|
|
+++ b/cpp/cmake_modules/FindBrotli.cmake
|
|
@@ -69,9 +69,9 @@ if(BROTLI_ROOT)
|
|
PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}
|
|
NO_DEFAULT_PATH)
|
|
else()
|
|
- find_package(PkgConfig QUIET)
|
|
- pkg_check_modules(BROTLI_PC libbrotlicommon libbrotlienc libbrotlidec)
|
|
- if(BROTLI_PC_FOUND)
|
|
+ #find_package(PkgConfig QUIET)
|
|
+ #pkg_check_modules(BROTLI_PC libbrotlicommon libbrotlienc libbrotlidec)
|
|
+ if(BROTLI_PC_FOUND AND 0) # Find via pkg_check_modules disabled as incompatible with vcpkg
|
|
set(BROTLI_INCLUDE_DIR "${BROTLI_PC_libbrotlicommon_INCLUDEDIR}")
|
|
|
|
# Some systems (e.g. Fedora) don't fill Brotli_LIBRARY_DIRS, so add the other dirs here.
|
|
diff --git a/cpp/cmake_modules/FindLz4.cmake b/cpp/cmake_modules/FindLz4.cmake
|
|
index 14b6d93b9..d8d80c408 100644
|
|
--- a/cpp/cmake_modules/FindLz4.cmake
|
|
+++ b/cpp/cmake_modules/FindLz4.cmake
|
|
@@ -15,10 +15,12 @@
|
|
# specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
-if(MSVC_TOOLCHAIN AND NOT DEFINED LZ4_MSVC_LIB_PREFIX)
|
|
- set(LZ4_MSVC_LIB_PREFIX "lib")
|
|
+# Avoid the debug build linking to the release library by mistake.
|
|
+# In theory harmless if static linking at this point, but disastrous if done for a shared library.
|
|
+if(CMAKE_BUILD_TYPE STREQUAL "DEBUG")
|
|
+ set(LZ4_LIB_NAME_DEBUG_SUFFIX d)
|
|
endif()
|
|
-set(LZ4_LIB_NAME_BASE "${LZ4_MSVC_LIB_PREFIX}lz4")
|
|
+set(LZ4_LIB_NAME_BASE "lz4${LZ4_LIB_NAME_DEBUG_SUFFIX}")
|
|
|
|
if(ARROW_LZ4_USE_SHARED)
|
|
set(LZ4_LIB_NAMES)
|
|
@@ -34,12 +36,8 @@ if(ARROW_LZ4_USE_SHARED)
|
|
LZ4_LIB_NAMES
|
|
"${CMAKE_SHARED_LIBRARY_PREFIX}${LZ4_LIB_NAME_BASE}${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
|
else()
|
|
- if(MSVC AND NOT DEFINED LZ4_MSVC_STATIC_LIB_SUFFIX)
|
|
- set(LZ4_MSVC_STATIC_LIB_SUFFIX "_static")
|
|
- endif()
|
|
- set(LZ4_STATIC_LIB_SUFFIX "${LZ4_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
|
set(LZ4_LIB_NAMES
|
|
- "${CMAKE_STATIC_LIBRARY_PREFIX}${LZ4_LIB_NAME_BASE}${LZ4_STATIC_LIB_SUFFIX}")
|
|
+ "${CMAKE_STATIC_LIBRARY_PREFIX}${LZ4_LIB_NAME_BASE}${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
|
endif()
|
|
|
|
if(LZ4_ROOT)
|
|
@@ -56,8 +54,8 @@ if(LZ4_ROOT)
|
|
|
|
else()
|
|
find_package(PkgConfig QUIET)
|
|
- pkg_check_modules(LZ4_PC liblz4)
|
|
- if(LZ4_PC_FOUND)
|
|
+ #pkg_check_modules(LZ4_PC liblz4)
|
|
+ if(0) # Do not use pkg_check_modules, doesn't seem to work correctly on some macOS versions (10.x in GitHub Actions)
|
|
set(LZ4_INCLUDE_DIR "${LZ4_PC_INCLUDEDIR}")
|
|
|
|
list(APPEND LZ4_PC_LIBRARY_DIRS "${LZ4_PC_LIBDIR}")
|
|
diff --git a/cpp/cmake_modules/FindSnappy.cmake b/cpp/cmake_modules/FindSnappy.cmake
|
|
index 5784cf592..817cf0c47 100644
|
|
--- a/cpp/cmake_modules/FindSnappy.cmake
|
|
+++ b/cpp/cmake_modules/FindSnappy.cmake
|
|
@@ -15,20 +15,27 @@
|
|
# specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
+# Avoid the debug build linking to the release library by mistake.
|
|
+# In theory harmless if static linking at this point, but disastrous if done for a shared library.
|
|
+if(CMAKE_BUILD_TYPE STREQUAL "DEBUG")
|
|
+ set(SNAPPY_LIB_NAME_DEBUG_SUFFIX d)
|
|
+endif()
|
|
+
|
|
+set(SNAPPY_LIB_NAME_BASE "snappy${SNAPPY_LIB_NAME_DEBUG_SUFFIX}")
|
|
+
|
|
if(ARROW_SNAPPY_USE_SHARED)
|
|
set(SNAPPY_LIB_NAMES)
|
|
if(CMAKE_IMPORT_LIBRARY_SUFFIX)
|
|
list(APPEND SNAPPY_LIB_NAMES
|
|
- "${CMAKE_IMPORT_LIBRARY_PREFIX}snappy${CMAKE_IMPORT_LIBRARY_SUFFIX}")
|
|
+ "${CMAKE_IMPORT_LIBRARY_PREFIX}${SNAPPY_LIB_NAME_BASE}${CMAKE_IMPORT_LIBRARY_SUFFIX}")
|
|
endif()
|
|
list(APPEND SNAPPY_LIB_NAMES
|
|
- "${CMAKE_SHARED_LIBRARY_PREFIX}snappy${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
|
+ "${CMAKE_SHARED_LIBRARY_PREFIX}${SNAPPY_LIB_NAME_BASE}${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
|
else()
|
|
- set(SNAPPY_STATIC_LIB_NAME_BASE "snappy")
|
|
if(MSVC)
|
|
- set(SNAPPY_STATIC_LIB_NAME_BASE "${SNAPPY_STATIC_LIB_NAME_BASE}${SNAPPY_MSVC_STATIC_LIB_SUFFIX}")
|
|
+ set(SNAPPY_STATIC_LIB_NAME_BASE "${SNAPPY_LIB_NAME_BASE}${SNAPPY_MSVC_STATIC_LIB_SUFFIX}")
|
|
endif()
|
|
- set(SNAPPY_LIB_NAMES "${CMAKE_STATIC_LIBRARY_PREFIX}${SNAPPY_STATIC_LIB_NAME_BASE}${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
|
+ set(SNAPPY_LIB_NAMES "${CMAKE_STATIC_LIBRARY_PREFIX}${SNAPPY_LIB_NAME_BASE}${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
|
endif()
|
|
|
|
if(Snappy_ROOT)
|
|
diff --git a/cpp/cmake_modules/FindThrift.cmake b/cpp/cmake_modules/FindThrift.cmake
|
|
index 273d907ed..65f477f54 100644
|
|
--- a/cpp/cmake_modules/FindThrift.cmake
|
|
+++ b/cpp/cmake_modules/FindThrift.cmake
|
|
@@ -39,6 +39,12 @@ function(EXTRACT_THRIFT_VERSION)
|
|
endif()
|
|
endfunction(EXTRACT_THRIFT_VERSION)
|
|
|
|
+# Avoid the debug build linking to the release library by mistake.
|
|
+# In theory harmless if static linking at this point, but disastrous if done for a shared library.
|
|
+if(CMAKE_BUILD_TYPE STREQUAL "DEBUG")
|
|
+ set(THRIFT_LIB_NAME_DEBUG_SUFFIX d)
|
|
+endif()
|
|
+
|
|
if(MSVC_TOOLCHAIN AND NOT DEFINED THRIFT_MSVC_LIB_SUFFIX)
|
|
if(NOT ARROW_THRIFT_USE_SHARED)
|
|
if(ARROW_USE_STATIC_CRT)
|
|
@@ -48,7 +54,7 @@ if(MSVC_TOOLCHAIN AND NOT DEFINED THRIFT_MSVC_LIB_SUFFIX)
|
|
endif()
|
|
endif()
|
|
endif()
|
|
-set(THRIFT_LIB_NAME_BASE "thrift${THRIFT_MSVC_LIB_SUFFIX}")
|
|
+set(THRIFT_LIB_NAME_BASE "thrift${THRIFT_MSVC_LIB_SUFFIX}${THRIFT_LIB_NAME_DEBUG_SUFFIX}")
|
|
|
|
if(ARROW_THRIFT_USE_SHARED)
|
|
set(THRIFT_LIB_NAMES thrift)
|
|
@@ -84,8 +90,8 @@ else()
|
|
# THRIFT-4760: The pkgconfig files are currently only installed when using autotools.
|
|
# Starting with 0.13, they are also installed for the CMake-based installations of Thrift.
|
|
find_package(PkgConfig QUIET)
|
|
- pkg_check_modules(THRIFT_PC thrift)
|
|
- if(THRIFT_PC_FOUND)
|
|
+ #pkg_check_modules(THRIFT_PC thrift)
|
|
+ if(0) # Do not use pkg_check_modules, as it finds the wrong location (an intermediate build dir).
|
|
set(THRIFT_INCLUDE_DIR "${THRIFT_PC_INCLUDEDIR}")
|
|
|
|
list(APPEND THRIFT_PC_LIBRARY_DIRS "${THRIFT_PC_LIBDIR}")
|
|
@@ -101,8 +107,7 @@ else()
|
|
set(THRIFT_VERSION ${THRIFT_PC_VERSION})
|
|
else()
|
|
find_library(THRIFT_LIB
|
|
- NAMES ${THRIFT_LIB_NAMES}
|
|
- PATH_SUFFIXES "lib/${CMAKE_LIBRARY_ARCHITECTURE}" "lib")
|
|
+ NAMES ${THRIFT_LIB_NAMES})
|
|
find_path(THRIFT_INCLUDE_DIR thrift/Thrift.h PATH_SUFFIXES "include")
|
|
find_program(THRIFT_COMPILER thrift PATH_SUFFIXES "bin")
|
|
extract_thrift_version()
|
|
diff --git a/cpp/cmake_modules/Findzstd.cmake b/cpp/cmake_modules/Findzstd.cmake
|
|
index 6659a682d..d8cc4f72d 100644
|
|
--- a/cpp/cmake_modules/Findzstd.cmake
|
|
+++ b/cpp/cmake_modules/Findzstd.cmake
|
|
@@ -34,13 +34,14 @@ if(ARROW_ZSTD_USE_SHARED)
|
|
ZSTD_LIB_NAMES
|
|
"${CMAKE_SHARED_LIBRARY_PREFIX}${ZSTD_LIB_NAME_BASE}${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
|
else()
|
|
- if(MSVC AND NOT DEFINED ZSTD_MSVC_STATIC_LIB_SUFFIX)
|
|
- set(ZSTD_MSVC_STATIC_LIB_SUFFIX "_static")
|
|
+ if(MSVC AND CMAKE_BUILD_TYPE STREQUAL "DEBUG")
|
|
+ set(ZSTD_MSVC_DEBUG_LIB_SUFFIX d)
|
|
endif()
|
|
set(ZSTD_STATIC_LIB_SUFFIX
|
|
- "${ZSTD_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
|
+ "${ZSTD_MSVC_DEBUG_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
|
set(ZSTD_LIB_NAMES
|
|
- "${CMAKE_STATIC_LIBRARY_PREFIX}${ZSTD_LIB_NAME_BASE}${ZSTD_STATIC_LIB_SUFFIX}")
|
|
+ "zstd${ZSTD_STATIC_LIB_SUFFIX}"
|
|
+ "libzstd${ZSTD_STATIC_LIB_SUFFIX}")
|
|
endif()
|
|
|
|
# First, find via if specified ZTD_ROOT
|