mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-03 15:39:01 +08:00
8f34b4bccf
* [Arrow] Update to 0.17.1 * Remove arrow:x64-linux=fail from ci.baseline.txt. Add explicit tool dependencies on Flex and Bison for Linux and OSX. * Revert arrow dependency on Flex/Bison, it's Thrift that needs them and its portfile is already fine. * Use vcpkg_fail_port_install(ON_ARCH x86 arm arm64) instead of custom check. Remove thrift:x64-osx=fail from ci.baseline.txt (we know arrow depends on it, and arrow:x64-osx has been shown to work in 3rd party project). * Disable using pkg-config files to locate dependencies in arrow This is incompatible with vcpkg as these files refer to paths in the packages directory rather than the installed directory, so this only works if the packages haven't been cleaned. * Mark thrift:x64-osx as still failing until a proper solution for Bison can be found. * Update ports/arrow/portfile.cmake Co-authored-by: Adam Reeve <adreeve@gmail.com> Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>
167 lines
7.3 KiB
Diff
167 lines
7.3 KiB
Diff
diff --git a/cpp/cmake_modules/BuildUtils.cmake b/cpp/cmake_modules/BuildUtils.cmake
|
|
index e4e13cb70..58ca626da 100644
|
|
--- a/cpp/cmake_modules/BuildUtils.cmake
|
|
+++ b/cpp/cmake_modules/BuildUtils.cmake
|
|
@@ -335,7 +335,7 @@ function(ADD_ARROW_LIB LIB_NAME)
|
|
target_include_directories(${LIB_NAME}_static PRIVATE ${ARG_PRIVATE_INCLUDES})
|
|
endif()
|
|
|
|
- if(MSVC)
|
|
+ if(MSVC 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 bf47915c4..053e605a0 100644
|
|
--- a/cpp/cmake_modules/FindBrotli.cmake
|
|
+++ b/cpp/cmake_modules/FindBrotli.cmake
|
|
@@ -64,8 +64,7 @@ if(BROTLI_ROOT)
|
|
PATH_SUFFIXES ${INCLUDE_PATH_SUFFIXES}
|
|
NO_DEFAULT_PATH)
|
|
else()
|
|
- pkg_check_modules(BROTLI_PC libbrotlicommon libbrotlienc libbrotlidec)
|
|
- if(BROTLI_PC_FOUND)
|
|
+ if(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 841091643..a196b251d 100644
|
|
--- a/cpp/cmake_modules/FindLz4.cmake
|
|
+++ b/cpp/cmake_modules/FindLz4.cmake
|
|
@@ -19,14 +19,16 @@ 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}")
|
|
+if(CMAKE_BUILD_TYPE STREQUAL "DEBUG")
|
|
+ set(LZ4_LIB_NAME_DEBUG_SUFFIX d)
|
|
+endif()
|
|
|
|
-set(LZ4_STATIC_LIB_NAME ${CMAKE_STATIC_LIBRARY_PREFIX}lz4${LZ4_STATIC_LIB_SUFFIX})
|
|
+set(LZ4_STATIC_LIB_NAME ${CMAKE_STATIC_LIBRARY_PREFIX}lz4${LZ4_MSVC_STATIC_LIB_SUFFIX}${LZ4_LIB_NAME_DEBUG_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX})
|
|
|
|
if(LZ4_ROOT)
|
|
find_library(
|
|
LZ4_LIB
|
|
- NAMES lz4 ${LZ4_STATIC_LIB_NAME} lib${LZ4_STATIC_LIB_NAME}
|
|
+ NAMES lz4${LZ4_LIB_NAME_DEBUG_SUFFIX} ${LZ4_STATIC_LIB_NAME} lib${LZ4_STATIC_LIB_NAME}
|
|
"${CMAKE_SHARED_LIBRARY_PREFIX}lz4_static${CMAKE_SHARED_LIBRARY_SUFFIX}"
|
|
PATHS ${LZ4_ROOT}
|
|
PATH_SUFFIXES ${LIB_PATH_SUFFIXES}
|
|
@@ -43,14 +45,14 @@ else()
|
|
set(LZ4_INCLUDE_DIR "${LZ4_PC_INCLUDEDIR}")
|
|
|
|
list(APPEND LZ4_PC_LIBRARY_DIRS "${LZ4_PC_LIBDIR}")
|
|
- find_library(LZ4_LIB lz4
|
|
+ find_library(LZ4_LIB lz4${LZ4_LIB_NAME_DEBUG_SUFFIX} ${LZ4_STATIC_LIB_NAME} lib${LZ4_STATIC_LIB_NAME}
|
|
PATHS ${LZ4_PC_LIBRARY_DIRS}
|
|
NO_DEFAULT_PATH
|
|
PATH_SUFFIXES ${LIB_PATH_SUFFIXES})
|
|
else()
|
|
find_library(
|
|
LZ4_LIB
|
|
- NAMES lz4 ${LZ4_STATIC_LIB_NAME} lib${LZ4_STATIC_LIB_NAME}
|
|
+ NAMES lz4${LZ4_LIB_NAME_DEBUG_SUFFIX} ${LZ4_STATIC_LIB_NAME} lib${LZ4_STATIC_LIB_NAME}
|
|
"${CMAKE_SHARED_LIBRARY_PREFIX}lz4_static${CMAKE_SHARED_LIBRARY_SUFFIX}"
|
|
PATH_SUFFIXES ${LIB_PATH_SUFFIXES})
|
|
find_path(LZ4_INCLUDE_DIR NAMES lz4.h PATH_SUFFIXES ${INCLUDE_PATH_SUFFIXES})
|
|
diff --git a/cpp/cmake_modules/FindThrift.cmake b/cpp/cmake_modules/FindThrift.cmake
|
|
index bb3eb5608..0b03d37d3 100644
|
|
--- a/cpp/cmake_modules/FindThrift.cmake
|
|
+++ b/cpp/cmake_modules/FindThrift.cmake
|
|
@@ -43,6 +43,10 @@ if(MSVC AND NOT THRIFT_MSVC_STATIC_LIB_SUFFIX)
|
|
set(THRIFT_MSVC_STATIC_LIB_SUFFIX md)
|
|
endif()
|
|
|
|
+if(CMAKE_BUILD_TYPE STREQUAL "DEBUG")
|
|
+ set(THRIFT_LIB_NAME_DEBUG_SUFFIX d)
|
|
+endif()
|
|
+
|
|
if(Thrift_ROOT)
|
|
find_library(THRIFT_STATIC_LIB thrift${THRIFT_MSVC_STATIC_LIB_SUFFIX}
|
|
PATHS ${Thrift_ROOT}
|
|
@@ -61,16 +65,14 @@ else()
|
|
|
|
list(APPEND THRIFT_PC_LIBRARY_DIRS "${THRIFT_PC_LIBDIR}")
|
|
|
|
- find_library(THRIFT_STATIC_LIB thrift${THRIFT_MSVC_STATIC_LIB_SUFFIX}
|
|
- PATHS ${THRIFT_PC_LIBRARY_DIRS}
|
|
- NO_DEFAULT_PATH)
|
|
+ find_library(THRIFT_STATIC_LIB thrift${THRIFT_MSVC_STATIC_LIB_SUFFIX}${THRIFT_LIB_NAME_DEBUG_SUFFIX}
|
|
+ PATHS ${THRIFT_PC_LIBRARY_DIRS})
|
|
find_program(THRIFT_COMPILER thrift
|
|
HINTS ${THRIFT_PC_PREFIX}
|
|
- NO_DEFAULT_PATH
|
|
PATH_SUFFIXES "bin")
|
|
set(THRIFT_VERSION ${THRIFT_PC_VERSION})
|
|
else()
|
|
- find_library(THRIFT_STATIC_LIB thrift${THRIFT_MSVC_STATIC_LIB_SUFFIX}
|
|
+ find_library(THRIFT_STATIC_LIB thrift${THRIFT_MSVC_STATIC_LIB_SUFFIX}${THRIFT_LIB_NAME_DEBUG_SUFFIX}
|
|
PATH_SUFFIXES "lib/${CMAKE_LIBRARY_ARCHITECTURE}" "lib")
|
|
find_path(THRIFT_INCLUDE_DIR thrift/Thrift.h PATH_SUFFIXES "include")
|
|
find_program(THRIFT_COMPILER thrift PATH_SUFFIXES "bin")
|
|
diff --git a/cpp/cmake_modules/FindZSTD.cmake b/cpp/cmake_modules/FindZSTD.cmake
|
|
index 8e47086e8..d87906a25 100644
|
|
--- a/cpp/cmake_modules/FindZSTD.cmake
|
|
+++ b/cpp/cmake_modules/FindZSTD.cmake
|
|
@@ -19,14 +19,18 @@ if(MSVC AND NOT DEFINED ZSTD_MSVC_STATIC_LIB_SUFFIX)
|
|
set(ZSTD_MSVC_STATIC_LIB_SUFFIX "_static")
|
|
endif()
|
|
|
|
-set(ZSTD_STATIC_LIB_SUFFIX "${ZSTD_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
|
+if(CMAKE_BUILD_TYPE STREQUAL "DEBUG")
|
|
+ set(ZSTD_LIB_NAME_DEBUG_SUFFIX d)
|
|
+endif()
|
|
+
|
|
+set(ZSTD_STATIC_LIB_SUFFIX "${ZSTD_MSVC_STATIC_LIB_SUFFIX}${ZSTD_LIB_NAME_DEBUG_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
|
set(ZSTD_STATIC_LIB_NAME ${CMAKE_STATIC_LIBRARY_PREFIX}zstd${ZSTD_STATIC_LIB_SUFFIX})
|
|
|
|
# First, find via if specified ZTD_ROOT
|
|
if(ZSTD_ROOT)
|
|
message(STATUS "Using ZSTD_ROOT: ${ZSTD_ROOT}")
|
|
find_library(ZSTD_LIB
|
|
- NAMES zstd "${ZSTD_STATIC_LIB_NAME}" "lib${ZSTD_STATIC_LIB_NAME}"
|
|
+ NAMES zstd${ZSTD_LIB_NAME_DEBUG_SUFFIX} "${ZSTD_STATIC_LIB_NAME}" "lib${ZSTD_STATIC_LIB_NAME}"
|
|
"${CMAKE_SHARED_LIBRARY_PREFIX}zstd${CMAKE_SHARED_LIBRARY_SUFFIX}"
|
|
PATHS ${ZSTD_ROOT}
|
|
PATH_SUFFIXES ${LIB_PATH_SUFFIXES}
|
|
@@ -39,19 +43,18 @@ if(ZSTD_ROOT)
|
|
|
|
else()
|
|
# Second, find via pkg_check_modules
|
|
- pkg_check_modules(ZSTD_PC libzstd)
|
|
- if(ZSTD_PC_FOUND)
|
|
+ if(0) # Disabled as incompatible with vcpkg
|
|
set(ZSTD_INCLUDE_DIR "${ZSTD_PC_INCLUDEDIR}")
|
|
|
|
list(APPEND ZSTD_PC_LIBRARY_DIRS "${ZSTD_PC_LIBDIR}")
|
|
- find_library(ZSTD_LIB zstd
|
|
+ find_library(ZSTD_LIB zstd${ZSTD_LIB_NAME_DEBUG_SUFFIX}
|
|
PATHS ${ZSTD_PC_LIBRARY_DIRS}
|
|
NO_DEFAULT_PATH
|
|
PATH_SUFFIXES ${LIB_PATH_SUFFIXES})
|
|
# Third, check all other CMake paths
|
|
else()
|
|
find_library(ZSTD_LIB
|
|
- NAMES zstd "${ZSTD_STATIC_LIB_NAME}" "lib${ZSTD_STATIC_LIB_NAME}"
|
|
+ NAMES zstd${ZSTD_LIB_NAME_DEBUG_SUFFIX} "${ZSTD_STATIC_LIB_NAME}" "lib${ZSTD_STATIC_LIB_NAME}"
|
|
"${CMAKE_SHARED_LIBRARY_PREFIX}zstd${CMAKE_SHARED_LIBRARY_SUFFIX}"
|
|
PATH_SUFFIXES ${LIB_PATH_SUFFIXES})
|
|
find_path(ZSTD_INCLUDE_DIR NAMES zstd.h PATH_SUFFIXES ${INCLUDE_PATH_SUFFIXES})
|
|
diff --git a/cpp/cmake_modules/SetupCxxFlags.cmake b/cpp/cmake_modules/SetupCxxFlags.cmake
|
|
index 6110a5aa5..3270d74a9 100644
|
|
--- a/cpp/cmake_modules/SetupCxxFlags.cmake
|
|
+++ b/cpp/cmake_modules/SetupCxxFlags.cmake
|
|
@@ -163,7 +163,9 @@ macro(arrow_add_werror_if_debug)
|
|
if("${CMAKE_BUILD_TYPE}" STREQUAL "DEBUG")
|
|
# Treat all compiler warnings as errors
|
|
if(MSVC)
|
|
- set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} /WX")
|
|
+ if(MSVC_VERSION VERSION_LESS 1900)
|
|
+ set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} /WX")
|
|
+ endif()
|
|
else()
|
|
set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -Werror")
|
|
endif()
|