diff options
| author | Griffin Downs <grdowns@microsoft.com> | 2019-04-05 13:35:58 -0700 |
|---|---|---|
| committer | Griffin Downs <grdowns@microsoft.com> | 2019-04-05 13:35:58 -0700 |
| commit | 97b7134f41b48963345ef3d6bdf950c8d569d43d (patch) | |
| tree | ce2538582a8c15a6cfb568209e8577fe3f61af52 | |
| parent | bdf903a991c3f187e59d6ee8056dc1600f060f3b (diff) | |
| parent | a141b603b93cce21f67733e649fbd076ade74393 (diff) | |
| download | vcpkg-97b7134f41b48963345ef3d6bdf950c8d569d43d.tar.gz vcpkg-97b7134f41b48963345ef3d6bdf950c8d569d43d.zip | |
Merge branch 'master' of https://github.com/microsoft/vcpkg into dev/grdowns/5702
42 files changed, 542 insertions, 1474 deletions
diff --git a/ports/anax/CONTROL b/ports/anax/CONTROL index 12be38d11..459692ac5 100644 --- a/ports/anax/CONTROL +++ b/ports/anax/CONTROL @@ -1,3 +1,3 @@ Source: anax -Version: 2.1.0-3 +Version: 2.1.0-4 Description: An open source C++ entity system. <https://github.com/miguelmartin75/anax> diff --git a/ports/anax/portfile.cmake b/ports/anax/portfile.cmake index 8881957fc..49fbb372d 100644 --- a/ports/anax/portfile.cmake +++ b/ports/anax/portfile.cmake @@ -1,11 +1,3 @@ -# Common Ambient Variables: -# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg> -# TARGET_TRIPLET is the current triplet (x86-windows, etc) -# PORT is the current port name (zlib, etc) -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# - include(vcpkg_common_functions) vcpkg_from_github( @@ -14,17 +6,15 @@ vcpkg_from_github( REF v2.1.0 SHA512 b573733b5f9634bf8cfc5b0715074f9a8ee29ecb48dc981d9371254a1f6ff8afbbb9ba6aa0877d53e518e5486ecc398a6d331fb9b5dbfd17d8707679216e11a3 HEAD_REF master -) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/Add-bin-output.patch + PATCHES + Add-bin-output.patch ) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + DISABLE_PARALLEL_CONFIGURE OPTIONS - -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON + -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON ) vcpkg_install_cmake() diff --git a/ports/arrow/CONTROL b/ports/arrow/CONTROL index cedc63bf4..aaf6c0535 100644 --- a/ports/arrow/CONTROL +++ b/ports/arrow/CONTROL @@ -1,4 +1,4 @@ Source: arrow -Version: 0.11.1 +Version: 0.13.0 Build-Depends: boost-system, boost-filesystem, boost-multiprecision, boost-algorithm, flatbuffers, rapidjson, zlib, lz4, brotli, zstd, snappy, gflags, thrift, double-conversion, glog Description: Apache Arrow is a columnar in-memory analytics layer designed to accelerate big data. It houses a set of canonical in-memory representations of flat and hierarchical data along with multiple language-bindings for structure manipulation. It also provides IPC and common algorithm implementations. diff --git a/ports/arrow/all.patch b/ports/arrow/all.patch index 31be15f5b..2e994af9b 100644 --- a/ports/arrow/all.patch +++ b/ports/arrow/all.patch @@ -1,1350 +1,297 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4448b98..d6aa484 100644 +index 52081c4..e1e13b5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -743,10 +743,10 @@ elseif (PTHREAD_LIBRARY) - # linking order. - set(ARROW_LINK_LIBS - ${ARROW_LINK_LIBS} -- ${PTHREAD_LIBRARY}) -+ pthreadshared) - set(ARROW_STATIC_LINK_LIBS - ${ARROW_STATIC_LINK_LIBS} -- ${PTHREAD_LIBRARY}) -+ pthreadshared) +@@ -804,6 +804,9 @@ if(ARROW_USE_GLOG) + list(APPEND ARROW_LINK_LIBS GLOG::glog) + list(APPEND ARROW_STATIC_LINK_LIBS GLOG::glog) + list(APPEND ARROW_STATIC_INSTALL_INTERFACE_LIBS GLOG::glog) ++ if(ARROW_NEED_GFLAGS) ++ list(APPEND ARROW_STATIC_LINK_LIBS gflags::gflags) ++ endif() + add_definitions("-DARROW_USE_GLOG") endif() - ############################################################ -@@ -780,3 +780,4 @@ endif() - if(ARROW_GANDIVA) - add_subdirectory(src/gandiva) - endif() -+ diff --git a/cmake_modules/FindBrotli.cmake b/cmake_modules/FindBrotli.cmake -index ea971f0..e8dfb3c 100644 +index e1429a2..6dee036 100644 --- a/cmake_modules/FindBrotli.cmake +++ b/cmake_modules/FindBrotli.cmake -@@ -39,57 +39,27 @@ elseif ( Brotli_HOME ) - endif() - - find_path( BROTLI_INCLUDE_DIR NAMES brotli/decode.h -- PATHS ${_brotli_roots} -- NO_DEFAULT_PATH - PATH_SUFFIXES "include" ) - --find_library( BROTLI_LIBRARY_ENC NAMES libbrotlienc.a libbrotlienc-static.a brotlienc -- PATHS ${_brotli_roots} -- NO_DEFAULT_PATH -- PATH_SUFFIXES "lib/${CMAKE_LIBRARY_ARCHITECTURE}" "lib" ) -+find_library( BROTLI_LIBRARY_ENC NAMES libbrotlienc libbrotlienc-static brotlienc brotlienc-static -+ PATH_SUFFIXES "lib" ) +@@ -18,6 +18,7 @@ + # find_package(Brotli) --find_library( BROTLI_LIBRARY_DEC NAMES libbrotlidec.a libbrotlidec-static.a brotlidec -- PATHS ${_brotli_roots} -- NO_DEFAULT_PATH -- PATH_SUFFIXES "lib/${CMAKE_LIBRARY_ARCHITECTURE}" "lib" ) -+find_library( BROTLI_LIBRARY_DEC NAMES libbrotlidec libbrotlidec-static brotlidec brotlidec-static -+ PATH_SUFFIXES "lib" ) - --find_library( BROTLI_LIBRARY_COMMON NAMES libbrotlicommon.a libbrotlicommon-static.a brotlicommon -- PATHS ${_brotli_roots} -- NO_DEFAULT_PATH -- PATH_SUFFIXES "lib/${CMAKE_LIBRARY_ARCHITECTURE}" "lib" ) -+find_library( BROTLI_LIBRARY_COMMON NAMES libbrotlicommon libbrotlicommon-static brotlicommon brotlicommon-static -+ PATH_SUFFIXES "lib" ) - - set(BROTLI_LIBRARIES ${BROTLI_LIBRARY_ENC} ${BROTLI_LIBRARY_DEC} - ${BROTLI_LIBRARY_COMMON}) -- -+ - if (BROTLI_INCLUDE_DIR AND (PARQUET_MINIMAL_DEPENDENCY OR BROTLI_LIBRARIES)) - set(BROTLI_FOUND TRUE) -- get_filename_component( BROTLI_LIBS ${BROTLI_LIBRARY_ENC} PATH ) -- set(BROTLI_LIB_NAME brotli) -- if (BROTLI_MSVC_STATIC_LIB_SUFFIX) -- set(BROTLI_STATIC_LIB_SUFFIX "${BROTLI_MSVC_STATIC_LIB_SUFFIX}") -- endif() -- if (NOT BROTLI_STATIC_LIB_SUFFIX) -- if (EXISTS "${BROTLI_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}${BROTLI_LIB_NAME}enc-static${CMAKE_STATIC_LIBRARY_SUFFIX}") -- set(BROTLI_STATIC_LIB_SUFFIX -static) -- else() -- if (MSVC) -- set(BROTLI_STATIC_LIB_SUFFIX _static) -- else() -- set(BROTLI_STATIC_LIB_SUFFIX "") -- endif() -- endif() -- endif() -- set(BROTLI_STATIC_LIB -- ${BROTLI_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}${BROTLI_LIB_NAME}enc${BROTLI_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX} -- ${BROTLI_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}${BROTLI_LIB_NAME}dec${BROTLI_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX} -- ${BROTLI_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}${BROTLI_LIB_NAME}common${BROTLI_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}) -- set(BROTLI_STATIC_LIBRARY_ENC ${BROTLI_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}${BROTLI_LIB_NAME}enc${BROTLI_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}) -- set(BROTLI_STATIC_LIBRARY_DEC ${BROTLI_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}${BROTLI_LIB_NAME}dec${BROTLI_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}) -- set(BROTLI_STATIC_LIBRARY_COMMON ${BROTLI_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}${BROTLI_LIB_NAME}common${BROTLI_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}) -- set(BROTLI_SHARED_LIB -- ${BROTLI_LIBS}/${CMAKE_SHARED_LIBRARY_PREFIX}${BROTLI_LIB_NAME}enc${CMAKE_SHARED_LIBRARY_SUFFIX} -- ${BROTLI_LIBS}/${CMAKE_SHARED_LIBRARY_PREFIX}${BROTLI_LIB_NAME}dec${CMAKE_SHARED_LIBRARY_SUFFIX} -- ${BROTLI_LIBS}/${CMAKE_SHARED_LIBRARY_PREFIX}${BROTLI_LIB_NAME}common${CMAKE_SHARED_LIBRARY_SUFFIX}) -+ set(BROTLI_STATIC_LIB ${BROTLI_LIBRARIES}) -+ set(BROTLI_STATIC_LIBRARY_ENC ${BROTLI_LIBRARY_ENC}) -+ set(BROTLI_STATIC_LIBRARY_DEC ${BROTLI_LIBRARY_DEC}) -+ set(BROTLI_STATIC_LIBRARY_COMMON ${BROTLI_LIBRARY_COMMON}) -+ set(BROTLI_SHARED_LIB ${BROTLI_LIBRARIES}) - else () - set(BROTLI_FOUND FALSE) - endif () -diff --git a/cmake_modules/FindFlatbuffers.cmake b/cmake_modules/FindFlatbuffers.cmake -index 975c869..9cee8a0 100644 ---- a/cmake_modules/FindFlatbuffers.cmake -+++ b/cmake_modules/FindFlatbuffers.cmake -@@ -31,31 +31,26 @@ - # FLATBUFFERS_STATIC_LIB, path to libflatbuffers.a - # FLATBUFFERS_FOUND, whether flatbuffers has been found - --if( NOT "${FLATBUFFERS_HOME}" STREQUAL "") -- file( TO_CMAKE_PATH "${FLATBUFFERS_HOME}" _native_path ) -- list( APPEND _flatbuffers_roots "${_native_path}" ) --elseif ( Flatbuffers_HOME ) -- list( APPEND _flatbuffers_roots "${Flatbuffers_HOME}" ) -+if(WIN32) -+ if(CMAKE_BUILD_TYPE STREQUAL "DEBUG") -+ set(FLATBUFFERS_LIB_SUFFIX mdd) -+ else() -+ set(FLATBUFFERS_LIB_SUFFIX md) -+ endif() -+else() -+ if(CMAKE_BUILD_TYPE STREQUAL "DEBUG") -+ set(FLATBUFFERS_LIB_SUFFIX "d") -+ else() -+ set(FLATBUFFERS_LIB_SUFFIX "") -+ endif() + pkg_check_modules(BROTLI_PC libbrotlicommon libbrotlienc libbrotlidec) ++ + if(BROTLI_PC_FOUND) + set(BROTLI_INCLUDE_DIR "${BROTLI_PC_libbrotlicommon_INCLUDEDIR}") + +@@ -25,80 +26,16 @@ if(BROTLI_PC_FOUND) + list(APPEND BROTLI_PC_LIBRARY_DIRS "${BROTLI_PC_libbrotlicommon_LIBDIR}") + list(APPEND BROTLI_PC_LIBRARY_DIRS "${BROTLI_PC_libbrotlienc_LIBDIR}") + list(APPEND BROTLI_PC_LIBRARY_DIRS "${BROTLI_PC_libbrotlidec_LIBDIR}") +- +- find_library(BROTLI_COMMON_LIBRARY brotlicommon +- PATHS ${BROTLI_PC_LIBRARY_DIRS} +- NO_DEFAULT_PATH) +- find_library(BROTLI_ENC_LIBRARY brotlienc +- PATHS ${BROTLI_PC_LIBRARY_DIRS} +- NO_DEFAULT_PATH) +- find_library(BROTLI_DEC_LIBRARY brotlidec +- PATHS ${BROTLI_PC_LIBRARY_DIRS} +- NO_DEFAULT_PATH) + elseif(BROTLI_ROOT) +- find_library( +- BROTLI_COMMON_LIBRARY +- NAMES brotlicommon +- ${CMAKE_SHARED_LIBRARY_PREFIX}brotlicommon${CMAKE_SHARED_LIBRARY_SUFFIX} +- ${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" +- NO_DEFAULT_PATH) +- find_library( +- BROTLI_ENC_LIBRARY +- NAMES brotlienc +- ${CMAKE_SHARED_LIBRARY_PREFIX}brotlienc${CMAKE_SHARED_LIBRARY_SUFFIX} +- ${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" +- NO_DEFAULT_PATH) +- find_library( +- BROTLI_DEC_LIBRARY +- NAMES brotlidec +- ${CMAKE_SHARED_LIBRARY_PREFIX}brotlidec${CMAKE_SHARED_LIBRARY_SUFFIX} +- ${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" +- NO_DEFAULT_PATH) +- find_path(BROTLI_INCLUDE_DIR +- NAMES brotli/decode.h +- PATHS ${BROTLI_ROOT} "${BROTLI_ROOT}/Library" +- NO_DEFAULT_PATH +- PATH_SUFFIXES "include") ++ find_path(BROTLI_INCLUDE_DIR NAMES brotli/decode.h PATH_SUFFIXES "include") + else() +- find_library( +- BROTLI_COMMON_LIBRARY +- NAMES brotlicommon +- ${CMAKE_SHARED_LIBRARY_PREFIX}brotlicommon${CMAKE_SHARED_LIBRARY_SUFFIX} +- ${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") +- find_library( +- BROTLI_ENC_LIBRARY +- NAMES brotlienc +- ${CMAKE_SHARED_LIBRARY_PREFIX}brotlienc${CMAKE_SHARED_LIBRARY_SUFFIX} +- ${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") +- find_library( +- BROTLI_DEC_LIBRARY +- NAMES brotlidec +- ${CMAKE_SHARED_LIBRARY_PREFIX}brotlidec${CMAKE_SHARED_LIBRARY_SUFFIX} +- ${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") endif() --# Try the parameterized roots, if they exist --if ( _flatbuffers_roots ) -- find_path( FLATBUFFERS_INCLUDE_DIR NAMES flatbuffers/flatbuffers.h -- PATHS "${_flatbuffers_roots}" NO_DEFAULT_PATH -- PATH_SUFFIXES "include" ) -- find_library( FLATBUFFERS_LIBRARIES NAMES flatbuffers -- PATHS "${_flatbuffers_roots}" NO_DEFAULT_PATH -- PATH_SUFFIXES "lib" "lib64") --else () -- find_path( FLATBUFFERS_INCLUDE_DIR NAMES flatbuffers/flatbuffers.h ) -- find_library( FLATBUFFERS_LIBRARIES NAMES flatbuffers ) --endif () -+find_path( FLATBUFFERS_INCLUDE_DIR NAMES flatbuffers/flatbuffers.h ) -+find_library( FLATBUFFERS_LIBRARIES NAMES flatbuffers ) - - find_program(FLATBUFFERS_COMPILER flatc -- "${FLATBUFFERS_HOME}/bin" -- /usr/local/bin -- /usr/bin -- NO_DEFAULT_PATH -+ PATH_SUFFIXES -+ "${FLATBUFFERS_HOME}/tools/flatbuffers" - ) - - if (FLATBUFFERS_INCLUDE_DIR AND FLATBUFFERS_LIBRARIES) -diff --git a/cmake_modules/FindGLOG.cmake b/cmake_modules/FindGLOG.cmake -index f22e4df..53e545b 100644 ---- a/cmake_modules/FindGLOG.cmake -+++ b/cmake_modules/FindGLOG.cmake -@@ -29,11 +29,6 @@ - # GLOG_STATIC_LIB, path to libglog.a - # GLOG_FOUND, whether glog has been found - --if( NOT "${GLOG_HOME}" STREQUAL "") -- file( TO_CMAKE_PATH "${GLOG_HOME}" _native_path ) -- list( APPEND _glog_roots ${_native_path} ) --endif() -- - message(STATUS "GLOG_HOME: ${GLOG_HOME}") - # Try the parameterized roots, if they exist - if ( _glog_roots ) -@@ -43,10 +38,10 @@ if ( _glog_roots ) - endif () - - find_path( GLOG_INCLUDE_DIR NAMES glog/logging.h -- PATHS ${_glog_roots} NO_DEFAULT_PATH -+ PATHS ${_glog_roots} - PATH_SUFFIXES "include" ) - find_library( GLOG_LIBRARIES NAMES glog -- PATHS ${_glog_roots} NO_DEFAULT_PATH -+ PATHS ${_glog_roots} - PATH_SUFFIXES ${lib_dirs}) - else () - find_path( GLOG_INCLUDE_DIR NAMES glog/logging.h ) ++find_library(BROTLI_COMMON_LIBRARY NAMES brotlicommon brotlicommon-static libbrotlicommon libbrotlicommon-static) ++find_library(BROTLI_ENC_LIBRARY NAMES libbrotlienc libbrotlienc-static brotlienc brotlienc-static) ++find_library(BROTLI_DEC_LIBRARY NAMES brotlidec libbrotlidec libbrotlidec-static brotlidec brotlidec-static) ++ + find_package_handle_standard_args(Brotli + REQUIRED_VARS + BROTLI_COMMON_LIBRARY diff --git a/cmake_modules/FindLz4.cmake b/cmake_modules/FindLz4.cmake -index 3a89c8d..1e068b4 100644 +index 3606f5c..1d18b7c 100644 --- a/cmake_modules/FindLz4.cmake +++ b/cmake_modules/FindLz4.cmake -@@ -29,23 +29,16 @@ elseif ( Lz4_HOME ) - list( APPEND _lz4_roots ${Lz4_HOME} ) +@@ -19,24 +19,26 @@ if(MSVC AND NOT DEFINED LZ4_MSVC_STATIC_LIB_SUFFIX) + set(LZ4_MSVC_STATIC_LIB_SUFFIX "_static") endif() --if (MSVC AND NOT DEFINED LZ4_MSVC_STATIC_LIB_SUFFIX) -- set(LZ4_MSVC_STATIC_LIB_SUFFIX "_static") +-set(LZ4_STATIC_LIB_SUFFIX "${LZ4_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}") +if(CMAKE_BUILD_TYPE STREQUAL "DEBUG") -+ set(LZ4_LIB_NAME lz4d) -+else() -+ set(LZ4_LIB_NAME lz4) - endif() - --set(LZ4_STATIC_LIB_SUFFIX -- "${LZ4_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}") -- --set(LZ4_STATIC_LIB_NAME -- ${CMAKE_STATIC_LIBRARY_PREFIX}lz4${LZ4_STATIC_LIB_SUFFIX}) -- - find_path(LZ4_INCLUDE_DIR NAMES lz4.h -- PATHS ${_lz4_roots} -- NO_DEFAULT_PATH - PATH_SUFFIXES "include" ) --find_library(LZ4_STATIC_LIB NAMES ${LZ4_STATIC_LIB_NAME} lib${LZ4_STATIC_LIB_NAME} -- PATHS ${_lz4_roots} -- NO_DEFAULT_PATH -+ -+find_library(LZ4_STATIC_LIB NAMES ${LZ4_LIB_NAME} - PATH_SUFFIXES "lib" ) - - include(FindPackageHandleStandardArgs) -diff --git a/cmake_modules/FindSnappy.cmake b/cmake_modules/FindSnappy.cmake -index 867963c..fd45321 100644 ---- a/cmake_modules/FindSnappy.cmake -+++ b/cmake_modules/FindSnappy.cmake -@@ -31,31 +31,23 @@ - # SNAPPY_SHARED_LIB, path to libsnappy's shared library - # SNAPPY_FOUND, whether snappy has been found - --if( NOT "${SNAPPY_HOME}" STREQUAL "") -- file( TO_CMAKE_PATH "${SNAPPY_HOME}" _native_path ) -- list( APPEND _snappy_roots ${_native_path} ) --elseif ( Snappy_HOME ) -- list( APPEND _snappy_roots ${Snappy_HOME} ) --endif() -- --message(STATUS "SNAPPY_HOME: ${SNAPPY_HOME}") --find_path(SNAPPY_INCLUDE_DIR snappy.h HINTS -- ${_snappy_roots} -- NO_DEFAULT_PATH -+find_path(SNAPPY_INCLUDE_DIR snappy.h - PATH_SUFFIXES "include") - --find_library( SNAPPY_LIBRARIES NAMES snappy PATHS -- ${_snappy_roots} -- NO_DEFAULT_PATH -- PATH_SUFFIXES "lib") -+if(CMAKE_BUILD_TYPE STREQUAL "DEBUG") -+ set(SNAPPY_LIB_NAME snappyd) -+else() -+ set(SNAPPY_LIB_NAME snappy) ++ set(LZ4_LIB_NAME_DEBUG_SUFFIX d) +endif() -+ -+find_library( SNAPPY_LIBRARIES NAMES ${SNAPPY_LIB_NAME} PATH_SUFFIXES "lib") - if (SNAPPY_INCLUDE_DIR AND (PARQUET_MINIMAL_DEPENDENCY OR SNAPPY_LIBRARIES)) - set(SNAPPY_FOUND TRUE) - get_filename_component( SNAPPY_LIBS ${SNAPPY_LIBRARIES} PATH ) - set(SNAPPY_HEADER_NAME snappy.h) - set(SNAPPY_HEADER ${SNAPPY_INCLUDE_DIR}/${SNAPPY_HEADER_NAME}) -- set(SNAPPY_LIB_NAME snappy) -- set(SNAPPY_STATIC_LIB ${SNAPPY_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}${SNAPPY_LIB_NAME}${SNAPPY_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}) -+ set(SNAPPY_STATIC_LIB ${SNAPPY_LIBS}/${CMAKE_STATIC_LIBRARY_PREFIX}${SNAPPY_LIB_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX}) - set(SNAPPY_SHARED_LIB ${SNAPPY_LIBS}/${CMAKE_SHARED_LIBRARY_PREFIX}${SNAPPY_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}) - else () - set(SNAPPY_FOUND FALSE) +-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}) + + pkg_check_modules(LZ4_PC liblz4) + if(LZ4_PC_FOUND) + 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} + PATHS ${LZ4_PC_LIBRARY_DIRS} + NO_DEFAULT_PATH + PATH_SUFFIXES "${CMAKE_LIBRARY_ARCHITECTURE}") + 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}" ++ 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}${LZ4_LIB_NAME_DEBUG_SUFFIX}" + PATHS ${LZ4_ROOT} "${LZ4_ROOT}/Library" + PATH_SUFFIXES "lib64" "lib" "bin" + NO_DEFAULT_PATH) +@@ -48,8 +50,8 @@ elseif(LZ4_ROOT) + 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}" ++ 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}${LZ4_LIB_NAME_DEBUG_SUFFIX}" + PATH_SUFFIXES "lib64" "lib" "bin") + find_path(LZ4_INCLUDE_DIR NAMES lz4.h PATH_SUFFIXES "include") + endif() diff --git a/cmake_modules/FindThrift.cmake b/cmake_modules/FindThrift.cmake -index 5402766..6cff9fa 100644 +index a4decf7..78ec7c8 100644 --- a/cmake_modules/FindThrift.cmake +++ b/cmake_modules/FindThrift.cmake -@@ -28,41 +28,31 @@ - # THRIFT_STATIC_LIB, THRIFT static library - # THRIFT_FOUND, If false, do not try to use ant - --# prefer the thrift version supplied in THRIFT_HOME --if( NOT "${THRIFT_HOME}" STREQUAL "") -- file( TO_CMAKE_PATH "${THRIFT_HOME}" _native_path ) -- list( APPEND _thrift_roots ${_native_path} ) --elseif ( Thrift_HOME ) -- list( APPEND _thrift_roots ${Thrift_HOME} ) --endif() -- --message(STATUS "THRIFT_HOME: ${THRIFT_HOME}") --find_path(THRIFT_INCLUDE_DIR thrift/Thrift.h HINTS -- ${_thrift_roots} -- NO_DEFAULT_PATH -+find_path(THRIFT_INCLUDE_DIR thrift/Thrift.h - PATH_SUFFIXES "include" - ) - --find_path(THRIFT_CONTRIB_DIR share/fb303/if/fb303.thrift HINTS -- ${_thrift_roots} -- NO_DEFAULT_PATH --) -- --if (MSVC AND NOT THRIFT_MSVC_STATIC_LIB_SUFFIX) -- set(THRIFT_MSVC_STATIC_LIB_SUFFIX md) -+if(WIN32) -+ if(CMAKE_BUILD_TYPE STREQUAL "DEBUG") -+ set(THRIFT_LIB_SUFFIX mdd) -+ else() -+ set(THRIFT_LIB_SUFFIX md) -+ endif() -+else() -+ if(CMAKE_BUILD_TYPE STREQUAL "DEBUG") -+ set(THRIFT_LIB_SUFFIX "d") -+ else() -+ set(THRIFT_LIB_SUFFIX "") -+ endif() +@@ -65,6 +65,10 @@ if(MSVC AND NOT THRIFT_MSVC_STATIC_LIB_SUFFIX) + set(THRIFT_MSVC_STATIC_LIB_SUFFIX md) endif() - find_library(THRIFT_STATIC_LIB NAMES -- ${CMAKE_STATIC_LIBRARY_PREFIX}thrift${THRIFT_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX} -- HINTS ${_thrift_roots} -- NO_DEFAULT_PATH -- PATH_SUFFIXES "lib/${CMAKE_LIBRARY_ARCHITECTURE}" "lib" -+ thrift${THRIFT_LIB_SUFFIX} -+ PATH_SUFFIXES lib - ) - - find_program(THRIFT_COMPILER thrift HINTS -- ${_thrift_roots} -- NO_DEFAULT_PATH -- PATH_SUFFIXES "bin" -+ PATH_SUFFIXES "tools" - ) - - function(EXTRACT_THRIFT_VERSION) -@@ -111,7 +101,6 @@ else () - endif () - endif () - -- - mark_as_advanced( - THRIFT_STATIC_LIB - THRIFT_COMPILER -diff --git a/cmake_modules/FindZLIB.cmake b/cmake_modules/FindZLIB.cmake -index ca6060b..85a4585 100644 ---- a/cmake_modules/FindZLIB.cmake -+++ b/cmake_modules/FindZLIB.cmake -@@ -30,43 +30,15 @@ - # ZLIB_SHARED_LIB, path to libz's shared library - # ZLIB_FOUND, whether zlib has been found - --if( NOT "${ZLIB_HOME}" STREQUAL "") -- file( TO_CMAKE_PATH "${ZLIB_HOME}" _native_path ) -- list( APPEND _zlib_roots ${_native_path} ) --elseif ( ZLIB_HOME ) -- list( APPEND _zlib_roots ${ZLIB_HOME} ) +if(CMAKE_BUILD_TYPE STREQUAL "DEBUG") -+ set(ZLIB_LIB_NAME_SUFFIX "d") -+else() -+ set(ZLIB_LIB_NAME_SUFFIX "") - endif() - --if (MSVC) -- # zlib uses zlib.lib for Windows. -- set(ZLIB_LIB_NAME zlib.lib) --else () -- # zlib uses libz.so for non Windows. -- set(ZLIB_LIB_NAME -- ${CMAKE_SHARED_LIBRARY_PREFIX}z${CMAKE_SHARED_LIBRARY_SUFFIX}) --endif () -- - # Try the parameterized roots, if they exist --if (_zlib_roots) -- find_path(ZLIB_INCLUDE_DIR NAMES zlib.h -- PATHS ${_zlib_roots} NO_DEFAULT_PATH -- PATH_SUFFIXES "include") -- find_library(ZLIB_SHARED_LIB -- NAMES ${ZLIB_LIB_NAME} -- PATHS ${_zlib_roots} NO_DEFAULT_PATH -- PATH_SUFFIXES "lib") --else () -- pkg_check_modules(PKG_ZLIB zlib) -- if (PKG_ZLIB_FOUND) -- set(ZLIB_INCLUDE_DIR ${PKG_ZLIB_INCLUDEDIR}) -- find_library(ZLIB_SHARED_LIB -- NAMES ${ZLIB_LIB_NAME} -- PATHS ${PKG_ZLIB_LIBDIR} NO_DEFAULT_PATH) -- else () -- find_path(ZLIB_INCLUDE_DIR NAMES zlib.h) -- find_library(ZLIB_SHARED_LIB NAMES ${ZLIB_LIB_NAME}) -- endif () --endif () -+find_path(ZLIB_INCLUDE_DIR NAMES zlib.h PATH_SUFFIXES "include") -+find_library(ZLIB_SHARED_LIB NAMES z zlib${ZLIB_LIB_NAME_SUFFIX} PATH_SUFFIXES "lib") - - if (ZLIB_INCLUDE_DIR AND ZLIB_SHARED_LIB) - set(ZLIB_FOUND TRUE) ++ set(THRIFT_LIB_NAME_DEBUG_SUFFIX d) ++endif() ++ + pkg_check_modules(THRIFT_PC thrift) + + # THRIFT-4760: The pkgconfig files are currently only installed when using autotools. +@@ -74,15 +78,13 @@ if(THRIFT_PC_FOUND) + + 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") + 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} + HINTS ${Thrift_ROOT} + PATH_SUFFIXES "lib/${CMAKE_LIBRARY_ARCHITECTURE}" "lib") + find_path(THRIFT_INCLUDE_DIR thrift/Thrift.h diff --git a/cmake_modules/FindZSTD.cmake b/cmake_modules/FindZSTD.cmake -index 810e5c0..d272d8f 100644 +index 17b58a3..fa2ab05 100644 --- a/cmake_modules/FindZSTD.cmake +++ b/cmake_modules/FindZSTD.cmake -@@ -22,30 +22,16 @@ - # ZSTD_STATIC_LIB, path to libzstd static library - # ZSTD_FOUND, whether zstd has been found - --if( NOT "${ZSTD_HOME}" STREQUAL "") -- file( TO_CMAKE_PATH "${ZSTD_HOME}" _native_path ) -- list( APPEND _zstd_roots ${_native_path} ) --elseif ( ZStd_HOME ) -- list( APPEND _zstd_roots ${ZStd_HOME} ) --endif() -+find_path(ZSTD_INCLUDE_DIR NAMES zstd.h -+ PATH_SUFFIXES "include" ) - --if (MSVC AND NOT DEFINED ZSTD_MSVC_STATIC_LIB_SUFFIX) -- set(ZSTD_MSVC_STATIC_LIB_SUFFIX "_static") -+if(CMAKE_BUILD_TYPE STREQUAL "DEBUG") -+ set(ZSTD_LIB_NAME_SUFFIX "d") -+else() -+ set(ZSTD_LIB_NAME_SUFFIX "") +@@ -19,7 +19,11 @@ 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}") -- --set(ZSTD_STATIC_LIB_NAME -- ${CMAKE_STATIC_LIBRARY_PREFIX}zstd${ZSTD_STATIC_LIB_SUFFIX}) -- --find_path(ZSTD_INCLUDE_DIR NAMES zstd.h -- PATHS ${_zstd_roots} -- NO_DEFAULT_PATH -- PATH_SUFFIXES "include" ) --find_library(ZSTD_STATIC_LIB NAMES ${ZSTD_STATIC_LIB_NAME} lib${ZSTD_STATIC_LIB_NAME} -- PATHS ${_zstd_roots} -- NO_DEFAULT_PATH -+find_library(ZSTD_STATIC_LIB NAMES zstd${ZSTD_LIB_NAME_SUFFIX} zstd_static${ZSTD_LIB_NAME_SUFFIX} - PATH_SUFFIXES "lib" ) - - include(FindPackageHandleStandardArgs) -diff --git a/cmake_modules/Finddouble-conversion.cmake b/cmake_modules/Finddouble-conversion.cmake -new file mode 100644 -index 0000000..4fa0995 ---- /dev/null -+++ b/cmake_modules/Finddouble-conversion.cmake -@@ -0,0 +1,23 @@ -+# 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. -+ -+find_path(DOUBLE_CONVERSION_INCLUDE_DIR NAMES double-conversion.h PATH_SUFFIXES "include/double-conversion" ) -+ -+find_library(DOUBLE_CONVERSION_STATIC_LIB NAMES double-conversion PATH_SUFFIXES "lib" ) -+ -+include(FindPackageHandleStandardArgs) -+find_package_handle_standard_args(DOUBLE_CONVERSION REQUIRED_VARS DOUBLE_CONVERSION_STATIC_LIB DOUBLE_CONVERSION_INCLUDE_DIR) -diff --git a/cmake_modules/ThirdpartyToolchain.cmake b/cmake_modules/ThirdpartyToolchain.cmake -index 1c7cd62..572f6e1 100644 ---- a/cmake_modules/ThirdpartyToolchain.cmake -+++ b/cmake_modules/ThirdpartyToolchain.cmake -@@ -302,6 +302,8 @@ if (WIN32) - else() - find_library(PTHREAD_LIBRARY pthread) - message(STATUS "Found pthread: ${PTHREAD_LIBRARY}") -+ add_library(pthreadshared SHARED IMPORTED) -+ set_target_properties(pthreadshared PROPERTIES IMPORTED_LOCATION ${PTHREAD_LIBRARY}) - endif() - - # ---------------------------------------------------------------------- -@@ -322,106 +324,56 @@ set(Boost_ADDITIONAL_VERSIONS - "1.61.0" "1.62" - "1.60.0" "1.60") - --if (ARROW_BOOST_VENDORED) -- set(BOOST_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/boost_ep-prefix/src/boost_ep") -- set(BOOST_LIB_DIR "${BOOST_PREFIX}/stage/lib") -- set(BOOST_BUILD_LINK "static") -- set(BOOST_STATIC_SYSTEM_LIBRARY -- "${BOOST_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}boost_system${CMAKE_STATIC_LIBRARY_SUFFIX}") -- set(BOOST_STATIC_FILESYSTEM_LIBRARY -- "${BOOST_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}boost_filesystem${CMAKE_STATIC_LIBRARY_SUFFIX}") -- set(BOOST_STATIC_REGEX_LIBRARY -- "${BOOST_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}boost_regex${CMAKE_STATIC_LIBRARY_SUFFIX}") -- set(BOOST_SYSTEM_LIBRARY "${BOOST_STATIC_SYSTEM_LIBRARY}") -- set(BOOST_FILESYSTEM_LIBRARY "${BOOST_STATIC_FILESYSTEM_LIBRARY}") -- set(BOOST_REGEX_LIBRARY "${BOOST_STATIC_REGEX_LIBRARY}") -+if (MSVC) -+ # disable autolinking in boost -+ add_definitions(-DBOOST_ALL_NO_LIB) +-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() -+if (ARROW_BOOST_USE_SHARED) -+ # Find shared Boost libraries. -+ set(Boost_USE_STATIC_LIBS OFF) -+ -+ if (MSVC) -+ # force all boost libraries to dynamic link -+ add_definitions(-DBOOST_ALL_DYN_LINK) -+ endif() + - if (ARROW_BOOST_HEADER_ONLY) -- set(BOOST_BUILD_PRODUCTS) -- set(BOOST_CONFIGURE_COMMAND "") -- set(BOOST_BUILD_COMMAND "") -+ find_package(Boost REQUIRED) - else() -- set(BOOST_BUILD_PRODUCTS -- ${BOOST_SYSTEM_LIBRARY} -- ${BOOST_FILESYSTEM_LIBRARY} -- ${BOOST_REGEX_LIBRARY}) -- set(BOOST_CONFIGURE_COMMAND -- "./bootstrap.sh" -- "--prefix=${BOOST_PREFIX}" -- "--with-libraries=filesystem,regex,system") -+ find_package(Boost COMPONENTS regex system filesystem REQUIRED) - if ("${CMAKE_BUILD_TYPE}" STREQUAL "DEBUG") -- set(BOOST_BUILD_VARIANT "debug") -+ set(BOOST_SHARED_SYSTEM_LIBRARY ${Boost_SYSTEM_LIBRARY_DEBUG}) -+ set(BOOST_SHARED_FILESYSTEM_LIBRARY ${Boost_FILESYSTEM_LIBRARY_DEBUG}) -+ set(BOOST_SHARED_REGEX_LIBRARY ${Boost_REGEX_LIBRARY_DEBUG}) - else() -- set(BOOST_BUILD_VARIANT "release") -+ set(BOOST_SHARED_SYSTEM_LIBRARY ${Boost_SYSTEM_LIBRARY_RELEASE}) -+ set(BOOST_SHARED_FILESYSTEM_LIBRARY ${Boost_FILESYSTEM_LIBRARY_RELEASE}) -+ set(BOOST_SHARED_REGEX_LIBRARY ${Boost_REGEX_LIBRARY_RELEASE}) - endif() -- set(BOOST_BUILD_COMMAND -- "./b2" -- "link=${BOOST_BUILD_LINK}" -- "variant=${BOOST_BUILD_VARIANT}" -- "cxxflags=-fPIC") -+ set(BOOST_SYSTEM_LIBRARY boost_system_shared) -+ set(BOOST_FILESYSTEM_LIBRARY boost_filesystem_shared) -+ set(BOOST_REGEX_LIBRARY boost_regex_shared) - endif() -- ExternalProject_Add(boost_ep -- URL ${BOOST_SOURCE_URL} -- BUILD_BYPRODUCTS ${BOOST_BUILD_PRODUCTS} -- BUILD_IN_SOURCE 1 -- CONFIGURE_COMMAND ${BOOST_CONFIGURE_COMMAND} -- BUILD_COMMAND ${BOOST_BUILD_COMMAND} -- INSTALL_COMMAND "" -- ${EP_LOG_OPTIONS}) -- set(Boost_INCLUDE_DIR "${BOOST_PREFIX}") -- set(Boost_INCLUDE_DIRS "${BOOST_INCLUDE_DIR}") -- add_dependencies(arrow_dependencies boost_ep) ++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}) + + pkg_check_modules(ZSTD_PC libzstd) +@@ -27,18 +31,15 @@ if(ZSTD_PC_FOUND) + 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 "${CMAKE_LIBRARY_ARCHITECTURE}") + 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" +- NO_DEFAULT_PATH) ++ NAMES zstd${ZSTD_LIB_NAME_DEBUG_SUFFIX} "${ZSTD_STATIC_LIB_NAME}" "lib${ZSTD_STATIC_LIB_NAME}" ++ "${CMAKE_SHARED_LIBRARY_PREFIX}zstd${ZSTD_LIB_NAME_DEBUG_SUFFIX}${CMAKE_SHARED_LIBRARY_SUFFIX}") + find_path(ZSTD_INCLUDE_DIR + NAMES zstd.h + PATHS ${ZSTD_ROOT} "${ZSTD_ROOT}/Library" +@@ -46,9 +47,8 @@ elseif(ZSTD_ROOT) + PATH_SUFFIXES "include") else() -- if (MSVC) -- # disable autolinking in boost -- add_definitions(-DBOOST_ALL_NO_LIB) -- endif() -- if (ARROW_BOOST_USE_SHARED) -- # Find shared Boost libraries. -- set(Boost_USE_STATIC_LIBS OFF) -- -- if (MSVC) -- # force all boost libraries to dynamic link -- add_definitions(-DBOOST_ALL_DYN_LINK) -- endif() -- -- if (ARROW_BOOST_HEADER_ONLY) -- find_package(Boost REQUIRED) -- else() -- find_package(Boost COMPONENTS regex system filesystem REQUIRED) -- if ("${CMAKE_BUILD_TYPE}" STREQUAL "DEBUG") -- set(BOOST_SHARED_SYSTEM_LIBRARY ${Boost_SYSTEM_LIBRARY_DEBUG}) -- set(BOOST_SHARED_FILESYSTEM_LIBRARY ${Boost_FILESYSTEM_LIBRARY_DEBUG}) -- set(BOOST_SHARED_REGEX_LIBRARY ${Boost_REGEX_LIBRARY_DEBUG}) -- else() -- set(BOOST_SHARED_SYSTEM_LIBRARY ${Boost_SYSTEM_LIBRARY_RELEASE}) -- set(BOOST_SHARED_FILESYSTEM_LIBRARY ${Boost_FILESYSTEM_LIBRARY_RELEASE}) -- set(BOOST_SHARED_REGEX_LIBRARY ${Boost_REGEX_LIBRARY_RELEASE}) -- endif() -- set(BOOST_SYSTEM_LIBRARY boost_system_shared) -- set(BOOST_FILESYSTEM_LIBRARY boost_filesystem_shared) -- set(BOOST_REGEX_LIBRARY boost_regex_shared) -- endif() -+ # Find static boost headers and libs -+ # TODO Differentiate here between release and debug builds -+ set(Boost_USE_STATIC_LIBS ON) -+ if (ARROW_BOOST_HEADER_ONLY) -+ find_package(Boost REQUIRED) - else() -- # Find static boost headers and libs -- # TODO Differentiate here between release and debug builds -- set(Boost_USE_STATIC_LIBS ON) -- if (ARROW_BOOST_HEADER_ONLY) -- find_package(Boost REQUIRED) -+ find_package(Boost COMPONENTS regex system filesystem REQUIRED) -+ if ("${CMAKE_BUILD_TYPE}" STREQUAL "DEBUG") -+ set(BOOST_STATIC_SYSTEM_LIBRARY ${Boost_SYSTEM_LIBRARY_DEBUG}) -+ set(BOOST_STATIC_FILESYSTEM_LIBRARY ${Boost_FILESYSTEM_LIBRARY_DEBUG}) -+ set(BOOST_STATIC_REGEX_LIBRARY ${Boost_REGEX_LIBRARY_DEBUG}) - else() -- find_package(Boost COMPONENTS regex system filesystem REQUIRED) -- if ("${CMAKE_BUILD_TYPE}" STREQUAL "DEBUG") -- set(BOOST_STATIC_SYSTEM_LIBRARY ${Boost_SYSTEM_LIBRARY_DEBUG}) -- set(BOOST_STATIC_FILESYSTEM_LIBRARY ${Boost_FILESYSTEM_LIBRARY_DEBUG}) -- set(BOOST_STATIC_REGEX_LIBRARY ${Boost_REGEX_LIBRARY_DEBUG}) -- else() -- set(BOOST_STATIC_SYSTEM_LIBRARY ${Boost_SYSTEM_LIBRARY_RELEASE}) -- set(BOOST_STATIC_FILESYSTEM_LIBRARY ${Boost_FILESYSTEM_LIBRARY_RELEASE}) -- set(BOOST_STATIC_REGEX_LIBRARY ${Boost_REGEX_LIBRARY_RELEASE}) -- endif() -- set(BOOST_SYSTEM_LIBRARY boost_system_static) -- set(BOOST_FILESYSTEM_LIBRARY boost_filesystem_static) -- set(BOOST_REGEX_LIBRARY boost_regex_static) -+ set(BOOST_STATIC_SYSTEM_LIBRARY ${Boost_SYSTEM_LIBRARY_RELEASE}) -+ set(BOOST_STATIC_FILESYSTEM_LIBRARY ${Boost_FILESYSTEM_LIBRARY_RELEASE}) -+ set(BOOST_STATIC_REGEX_LIBRARY ${Boost_REGEX_LIBRARY_RELEASE}) - endif() -+ set(BOOST_SYSTEM_LIBRARY boost_system_static) -+ set(BOOST_FILESYSTEM_LIBRARY boost_filesystem_static) -+ set(BOOST_REGEX_LIBRARY boost_regex_static) - endif() + 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") ++ NAMES zstd${ZSTD_LIB_NAME_DEBUG_SUFFIX} "${ZSTD_STATIC_LIB_NAME}" "lib${ZSTD_STATIC_LIB_NAME}" ++ "${CMAKE_SHARED_LIBRARY_PREFIX}zstd${ZSTD_LIB_NAME_DEBUG_SUFFIX}${CMAKE_SHARED_LIBRARY_SUFFIX}") + find_path(ZSTD_INCLUDE_DIR NAMES zstd.h PATH_SUFFIXES "include") endif() -@@ -449,28 +401,8 @@ include_directories(SYSTEM ${Boost_INCLUDE_DIR}) - # ---------------------------------------------------------------------- - # Google double-conversion - --if("${DOUBLE_CONVERSION_HOME}" STREQUAL "") -- set(DOUBLE_CONVERSION_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/double-conversion_ep/src/double-conversion_ep") -- set(DOUBLE_CONVERSION_HOME "${DOUBLE_CONVERSION_PREFIX}") -- set(DOUBLE_CONVERSION_INCLUDE_DIR "${DOUBLE_CONVERSION_PREFIX}/include") -- set(DOUBLE_CONVERSION_STATIC_LIB "${DOUBLE_CONVERSION_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}double-conversion${CMAKE_STATIC_LIBRARY_SUFFIX}") -- -- set(DOUBLE_CONVERSION_CMAKE_ARGS -- "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}" -- "-DCMAKE_CXX_FLAGS=${EP_CXX_FLAGS}" -- "-DCMAKE_CXX_FLAGS_${UPPERCASE_BUILD_TYPE}=${EP_CXX_FLAGS}" -- "-DCMAKE_INSTALL_PREFIX=${DOUBLE_CONVERSION_PREFIX}") -- ExternalProject_Add(double-conversion_ep -- ${EP_LOG_OPTIONS} -- INSTALL_DIR ${DOUBLE_CONVERSION_PREFIX} -- URL ${DOUBLE_CONVERSION_SOURCE_URL} -- CMAKE_ARGS ${DOUBLE_CONVERSION_CMAKE_ARGS} -- BUILD_BYPRODUCTS "${DOUBLE_CONVERSION_STATIC_LIB}") -- set(DOUBLE_CONVERSION_VENDORED 1) --else() -- find_package(double-conversion REQUIRED) -- set(DOUBLE_CONVERSION_VENDORED 0) --endif() -+find_package(double-conversion REQUIRED) -+set(DOUBLE_CONVERSION_VENDORED 0) - - include_directories(SYSTEM ${DOUBLE_CONVERSION_INCLUDE_DIR}) - ADD_THIRDPARTY_LIB(double-conversion -@@ -486,38 +418,8 @@ endif() - if(ARROW_BUILD_TESTS OR ARROW_BUILD_BENCHMARKS) - add_custom_target(unittest ctest -L unittest) - -- if("${GTEST_HOME}" STREQUAL "") -- if(APPLE) -- set(GTEST_CMAKE_CXX_FLAGS "-fPIC -DGTEST_USE_OWN_TR1_TUPLE=1 -Wno-unused-value -Wno-ignored-attributes") -- elseif(NOT MSVC) -- set(GTEST_CMAKE_CXX_FLAGS "-fPIC") -- endif() -- string(TOUPPER ${CMAKE_BUILD_TYPE} UPPERCASE_BUILD_TYPE) -- set(GTEST_CMAKE_CXX_FLAGS "${EP_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${UPPERCASE_BUILD_TYPE}} ${GTEST_CMAKE_CXX_FLAGS}") -- -- set(GTEST_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/googletest_ep-prefix/src/googletest_ep") -- set(GTEST_INCLUDE_DIR "${GTEST_PREFIX}/include") -- set(GTEST_STATIC_LIB -- "${GTEST_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX}") -- set(GTEST_MAIN_STATIC_LIB -- "${GTEST_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}gtest_main${CMAKE_STATIC_LIBRARY_SUFFIX}") -- set(GTEST_VENDORED 1) -- set(GTEST_CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -- -DCMAKE_INSTALL_PREFIX=${GTEST_PREFIX} -- -DCMAKE_CXX_FLAGS=${GTEST_CMAKE_CXX_FLAGS}) -- if (MSVC AND NOT ARROW_USE_STATIC_CRT) -- set(GTEST_CMAKE_ARGS ${GTEST_CMAKE_ARGS} -Dgtest_force_shared_crt=ON) -- endif() -- -- ExternalProject_Add(googletest_ep -- URL ${GTEST_SOURCE_URL} -- BUILD_BYPRODUCTS ${GTEST_STATIC_LIB} ${GTEST_MAIN_STATIC_LIB} -- CMAKE_ARGS ${GTEST_CMAKE_ARGS} -- ${EP_LOG_OPTIONS}) -- else() -- find_package(GTest REQUIRED) -- set(GTEST_VENDORED 0) -- endif() -+ find_package(GTest REQUIRED) -+ set(GTEST_VENDORED 0) - - message(STATUS "GTest include dir: ${GTEST_INCLUDE_DIR}") - message(STATUS "GTest static library: ${GTEST_STATIC_LIB}") -@@ -533,40 +435,8 @@ if(ARROW_BUILD_TESTS OR ARROW_BUILD_BENCHMARKS) - endif() - - # gflags (formerly Googleflags) command line parsing -- if("${GFLAGS_HOME}" STREQUAL "") -- set(GFLAGS_CMAKE_CXX_FLAGS ${EP_CXX_FLAGS}) -- -- set(GFLAGS_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/gflags_ep-prefix/src/gflags_ep") -- set(GFLAGS_HOME "${GFLAGS_PREFIX}") -- set(GFLAGS_INCLUDE_DIR "${GFLAGS_PREFIX}/include") -- if(MSVC) -- set(GFLAGS_STATIC_LIB "${GFLAGS_PREFIX}/lib/gflags_static.lib") -- else() -- set(GFLAGS_STATIC_LIB "${GFLAGS_PREFIX}/lib/libgflags.a") -- endif() -- set(GFLAGS_VENDORED 1) -- set(GFLAGS_CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -- -DCMAKE_INSTALL_PREFIX=${GFLAGS_PREFIX} -- -DBUILD_SHARED_LIBS=OFF -- -DBUILD_STATIC_LIBS=ON -- -DBUILD_PACKAGING=OFF -- -DBUILD_TESTING=OFF -- -BUILD_CONFIG_TESTS=OFF -- -DINSTALL_HEADERS=ON -- -DCMAKE_CXX_FLAGS_${UPPERCASE_BUILD_TYPE}=${EP_CXX_FLAGS} -- -DCMAKE_C_FLAGS_${UPPERCASE_BUILD_TYPE}=${EP_C_FLAGS} -- -DCMAKE_CXX_FLAGS=${GFLAGS_CMAKE_CXX_FLAGS}) -- -- ExternalProject_Add(gflags_ep -- URL ${GFLAGS_SOURCE_URL} -- ${EP_LOG_OPTIONS} -- BUILD_IN_SOURCE 1 -- BUILD_BYPRODUCTS "${GFLAGS_STATIC_LIB}" -- CMAKE_ARGS ${GFLAGS_CMAKE_ARGS}) -- else() -- set(GFLAGS_VENDORED 0) -- find_package(GFlags REQUIRED) -- endif() -+ set(GFLAGS_VENDORED 0) -+ find_package(GFlags REQUIRED) - - message(STATUS "GFlags include dir: ${GFLAGS_INCLUDE_DIR}") - message(STATUS "GFlags static library: ${GFLAGS_STATIC_LIB}") -@@ -587,37 +457,8 @@ endif() - if(ARROW_BUILD_BENCHMARKS) - add_custom_target(runbenchmark ctest -L benchmark) - -- if("$ENV{GBENCHMARK_HOME}" STREQUAL "") -- if(NOT MSVC) -- set(GBENCHMARK_CMAKE_CXX_FLAGS "-fPIC -std=c++11 ${EP_CXX_FLAGS}") -- endif() -- -- if(APPLE) -- set(GBENCHMARK_CMAKE_CXX_FLAGS "${GBENCHMARK_CMAKE_CXX_FLAGS} -stdlib=libc++") -- endif() -- -- set(GBENCHMARK_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/gbenchmark_ep/src/gbenchmark_ep-install") -- set(GBENCHMARK_INCLUDE_DIR "${GBENCHMARK_PREFIX}/include") -- set(GBENCHMARK_STATIC_LIB "${GBENCHMARK_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}benchmark${CMAKE_STATIC_LIBRARY_SUFFIX}") -- set(GBENCHMARK_VENDORED 1) -- set(GBENCHMARK_CMAKE_ARGS -- "-DCMAKE_BUILD_TYPE=Release" -- "-DCMAKE_INSTALL_PREFIX:PATH=${GBENCHMARK_PREFIX}" -- "-DBENCHMARK_ENABLE_TESTING=OFF" -- "-DCMAKE_CXX_FLAGS=${GBENCHMARK_CMAKE_CXX_FLAGS}") -- if (APPLE) -- set(GBENCHMARK_CMAKE_ARGS ${GBENCHMARK_CMAKE_ARGS} "-DBENCHMARK_USE_LIBCXX=ON") -- endif() -- -- ExternalProject_Add(gbenchmark_ep -- URL ${GBENCHMARK_SOURCE_URL} -- BUILD_BYPRODUCTS "${GBENCHMARK_STATIC_LIB}" -- CMAKE_ARGS ${GBENCHMARK_CMAKE_ARGS} -- ${EP_LOG_OPTIONS}) -- else() -- find_package(GBenchmark REQUIRED) -- set(GBENCHMARK_VENDORED 0) -- endif() -+ find_package(GBenchmark REQUIRED) -+ set(GBENCHMARK_VENDORED 0) - - message(STATUS "GBenchmark include dir: ${GBENCHMARK_INCLUDE_DIR}") - message(STATUS "GBenchmark static library: ${GBENCHMARK_STATIC_LIB}") -@@ -632,24 +473,8 @@ endif() - - if (ARROW_IPC) - # RapidJSON, header only dependency -- if("${RAPIDJSON_HOME}" STREQUAL "") -- ExternalProject_Add(rapidjson_ep -- PREFIX "${CMAKE_BINARY_DIR}" -- URL ${RAPIDJSON_SOURCE_URL} -- URL_MD5 ${RAPIDJSON_SOURCE_MD5} -- CONFIGURE_COMMAND "" -- BUILD_COMMAND "" -- BUILD_IN_SOURCE 1 -- ${EP_LOG_OPTIONS} -- INSTALL_COMMAND "") -- -- ExternalProject_Get_Property(rapidjson_ep SOURCE_DIR) -- set(RAPIDJSON_INCLUDE_DIR "${SOURCE_DIR}/include") -- set(RAPIDJSON_VENDORED 1) -- else() -- set(RAPIDJSON_INCLUDE_DIR "${RAPIDJSON_HOME}/include") -- set(RAPIDJSON_VENDORED 0) -- endif() -+ set(RAPIDJSON_INCLUDE_DIR "${RAPIDJSON_HOME}/include") -+ set(RAPIDJSON_VENDORED 0) - message(STATUS "RapidJSON include dir: ${RAPIDJSON_INCLUDE_DIR}") - include_directories(SYSTEM ${RAPIDJSON_INCLUDE_DIR}) - -@@ -658,32 +483,8 @@ if (ARROW_IPC) - endif() - - ## Flatbuffers -- if("${FLATBUFFERS_HOME}" STREQUAL "") -- set(FLATBUFFERS_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/flatbuffers_ep-prefix/src/flatbuffers_ep-install") -- if (MSVC) -- set(FLATBUFFERS_CMAKE_CXX_FLAGS /EHsc) -- else() -- set(FLATBUFFERS_CMAKE_CXX_FLAGS -fPIC) -- endif() -- # We always need to do release builds, otherwise flatc will not be installed. -- ExternalProject_Add(flatbuffers_ep -- URL ${FLATBUFFERS_SOURCE_URL} -- CMAKE_ARGS -- "-DCMAKE_CXX_FLAGS=${FLATBUFFERS_CMAKE_CXX_FLAGS}" -- "-DCMAKE_INSTALL_PREFIX:PATH=${FLATBUFFERS_PREFIX}" -- "-DFLATBUFFERS_BUILD_TESTS=OFF" -- "-DCMAKE_BUILD_TYPE=RELEASE" -- "-DCMAKE_CXX_FLAGS_${UPPERCASE_BUILD_TYPE}=${EP_CXX_FLAGS}" -- "-DCMAKE_C_FLAGS_${UPPERCASE_BUILD_TYPE}=${EP_C_FLAGS}" -- ${EP_LOG_OPTIONS}) -- -- set(FLATBUFFERS_INCLUDE_DIR "${FLATBUFFERS_PREFIX}/include") -- set(FLATBUFFERS_COMPILER "${FLATBUFFERS_PREFIX}/bin/flatc") -- set(FLATBUFFERS_VENDORED 1) -- else() -- find_package(Flatbuffers REQUIRED) -- set(FLATBUFFERS_VENDORED 0) -- endif() -+ find_package(Flatbuffers REQUIRED) -+ set(FLATBUFFERS_VENDORED 0) - - if(FLATBUFFERS_VENDORED) - add_dependencies(arrow_dependencies flatbuffers_ep) -@@ -787,34 +588,7 @@ if (ARROW_WITH_ZLIB) - if(ZLIB_FOUND) - ADD_THIRDPARTY_LIB(zlib SHARED_LIB ${ZLIB_SHARED_LIB}) - else() -- set(ZLIB_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/zlib_ep/src/zlib_ep-install") -- set(ZLIB_HOME "${ZLIB_PREFIX}") -- set(ZLIB_INCLUDE_DIR "${ZLIB_PREFIX}/include") -- if (MSVC) -- if (${UPPERCASE_BUILD_TYPE} STREQUAL "DEBUG") -- set(ZLIB_STATIC_LIB_NAME zlibstaticd.lib) -- else() -- set(ZLIB_STATIC_LIB_NAME zlibstatic.lib) -- endif() -- else() -- set(ZLIB_STATIC_LIB_NAME libz.a) -- endif() -- set(ZLIB_STATIC_LIB "${ZLIB_PREFIX}/lib/${ZLIB_STATIC_LIB_NAME}") -- set(ZLIB_CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -- -DCMAKE_INSTALL_PREFIX=${ZLIB_PREFIX} -- -DCMAKE_C_FLAGS=${EP_C_FLAGS} -- -DCMAKE_CXX_FLAGS_${UPPERCASE_BUILD_TYPE}=${EP_CXX_FLAGS} -- -DCMAKE_C_FLAGS_${UPPERCASE_BUILD_TYPE}=${EP_C_FLAGS} -- -DBUILD_SHARED_LIBS=OFF) -- ADD_THIRDPARTY_LIB(zlib -- STATIC_LIB ${ZLIB_STATIC_LIB}) -- -- ExternalProject_Add(zlib_ep -- URL ${ZLIB_SOURCE_URL} -- ${EP_LOG_OPTIONS} -- BUILD_BYPRODUCTS "${ZLIB_STATIC_LIB}" -- CMAKE_ARGS ${ZLIB_CMAKE_ARGS}) -- add_dependencies(zlib zlib_ep) -+ message(FATAL_ERROR "zlib not found.") - endif() - - include_directories(SYSTEM ${ZLIB_INCLUDE_DIR}) -@@ -824,62 +598,8 @@ if (ARROW_WITH_SNAPPY) - # ---------------------------------------------------------------------- - # Snappy - -- if("${SNAPPY_HOME}" STREQUAL "") -- set(SNAPPY_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/snappy_ep/src/snappy_ep-install") -- set(SNAPPY_HOME "${SNAPPY_PREFIX}") -- set(SNAPPY_INCLUDE_DIR "${SNAPPY_PREFIX}/include") -- if (MSVC) -- set(SNAPPY_STATIC_LIB_NAME snappy_static) -- else() -- set(SNAPPY_STATIC_LIB_NAME snappy) -- endif() -- set(SNAPPY_STATIC_LIB "${SNAPPY_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}${SNAPPY_STATIC_LIB_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX}") -- -- if (${UPPERCASE_BUILD_TYPE} EQUAL "RELEASE") -- if (APPLE) -- set(SNAPPY_CXXFLAGS "CXXFLAGS='-DNDEBUG -O1'") -- else() -- set(SNAPPY_CXXFLAGS "CXXFLAGS='-DNDEBUG -O2'") -- endif() -- endif() -- -- if (WIN32) -- set(SNAPPY_CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -- "-DCMAKE_CXX_FLAGS=${EP_CXX_FLAGS}" -- "-DCMAKE_CXX_FLAGS_${UPPERCASE_BUILD_TYPE}=${EP_CXX_FLAGS}" -- "-DCMAKE_C_FLAGS_${UPPERCASE_BUILD_TYPE}=${EP_C_FLAGS}" -- "-DCMAKE_C_FLAGS=${EP_C_FLAGS}" -- "-DCMAKE_INSTALL_PREFIX=${SNAPPY_PREFIX}") -- set(SNAPPY_UPDATE_COMMAND ${CMAKE_COMMAND} -E copy -- ${CMAKE_SOURCE_DIR}/cmake_modules/SnappyCMakeLists.txt -- ./CMakeLists.txt && -- ${CMAKE_COMMAND} -E copy -- ${CMAKE_SOURCE_DIR}/cmake_modules/SnappyConfig.h -- ./config.h) -- ExternalProject_Add(snappy_ep -- UPDATE_COMMAND ${SNAPPY_UPDATE_COMMAND} -- ${EP_LOG_OPTIONS} -- BUILD_IN_SOURCE 1 -- BUILD_COMMAND ${MAKE} -- INSTALL_DIR ${SNAPPY_PREFIX} -- URL ${SNAPPY_SOURCE_URL} -- CMAKE_ARGS ${SNAPPY_CMAKE_ARGS} -- BUILD_BYPRODUCTS "${SNAPPY_STATIC_LIB}") -- else() -- ExternalProject_Add(snappy_ep -- CONFIGURE_COMMAND ./configure --with-pic "--prefix=${SNAPPY_PREFIX}" ${SNAPPY_CXXFLAGS} -- ${EP_LOG_OPTIONS} -- BUILD_IN_SOURCE 1 -- BUILD_COMMAND ${MAKE} -- INSTALL_DIR ${SNAPPY_PREFIX} -- URL ${SNAPPY_SOURCE_URL} -- BUILD_BYPRODUCTS "${SNAPPY_STATIC_LIB}") -- endif() -- set(SNAPPY_VENDORED 1) -- else() -- find_package(Snappy REQUIRED) -- set(SNAPPY_VENDORED 0) -- endif() -+ find_package(Snappy REQUIRED) -+ set(SNAPPY_VENDORED 0) - - include_directories(SYSTEM ${SNAPPY_INCLUDE_DIR}) - ADD_THIRDPARTY_LIB(snappy -@@ -894,47 +614,8 @@ if (ARROW_WITH_BROTLI) - # ---------------------------------------------------------------------- - # Brotli - -- if("${BROTLI_HOME}" STREQUAL "") -- set(BROTLI_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/brotli_ep/src/brotli_ep-install") -- set(BROTLI_HOME "${BROTLI_PREFIX}") -- set(BROTLI_INCLUDE_DIR "${BROTLI_PREFIX}/include") -- if (MSVC) -- set(BROTLI_LIB_DIR bin) -- else() -- set(BROTLI_LIB_DIR lib) -- endif() -- set(BROTLI_STATIC_LIBRARY_ENC "${BROTLI_PREFIX}/${BROTLI_LIB_DIR}/${CMAKE_LIBRARY_ARCHITECTURE}/${CMAKE_STATIC_LIBRARY_PREFIX}brotlienc${CMAKE_STATIC_LIBRARY_SUFFIX}") -- set(BROTLI_STATIC_LIBRARY_DEC "${BROTLI_PREFIX}/${BROTLI_LIB_DIR}/${CMAKE_LIBRARY_ARCHITECTURE}/${CMAKE_STATIC_LIBRARY_PREFIX}brotlidec${CMAKE_STATIC_LIBRARY_SUFFIX}") -- set(BROTLI_STATIC_LIBRARY_COMMON "${BROTLI_PREFIX}/${BROTLI_LIB_DIR}/${CMAKE_LIBRARY_ARCHITECTURE}/${CMAKE_STATIC_LIBRARY_PREFIX}brotlicommon${CMAKE_STATIC_LIBRARY_SUFFIX}") -- set(BROTLI_CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -- "-DCMAKE_CXX_FLAGS=${EP_CXX_FLAGS}" -- "-DCMAKE_C_FLAGS=${EP_C_FLAGS}" -- "-DCMAKE_CXX_FLAGS_${UPPERCASE_BUILD_TYPE}=${EP_CXX_FLAGS}" -- "-DCMAKE_C_FLAGS_${UPPERCASE_BUILD_TYPE}=${EP_C_FLAGS}" -- -DCMAKE_INSTALL_PREFIX=${BROTLI_PREFIX} -- -DCMAKE_INSTALL_LIBDIR=lib/${CMAKE_LIBRARY_ARCHITECTURE} -- -DBUILD_SHARED_LIBS=OFF) -- -- ExternalProject_Add(brotli_ep -- URL ${BROTLI_SOURCE_URL} -- BUILD_BYPRODUCTS "${BROTLI_STATIC_LIBRARY_ENC}" "${BROTLI_STATIC_LIBRARY_DEC}" "${BROTLI_STATIC_LIBRARY_COMMON}" -- ${BROTLI_BUILD_BYPRODUCTS} -- ${EP_LOG_OPTIONS} -- CMAKE_ARGS ${BROTLI_CMAKE_ARGS} -- STEP_TARGETS headers_copy) -- if (MSVC) -- ExternalProject_Get_Property(brotli_ep SOURCE_DIR) -- -- ExternalProject_Add_Step(brotli_ep headers_copy -- COMMAND xcopy /E /I include ..\\..\\..\\brotli_ep\\src\\brotli_ep-install\\include /Y -- DEPENDEES build -- WORKING_DIRECTORY ${SOURCE_DIR}) -- endif() -- set(BROTLI_VENDORED 1) -- else() -- find_package(Brotli REQUIRED) -- set(BROTLI_VENDORED 0) -- endif() -+ find_package(Brotli REQUIRED) -+ set(BROTLI_VENDORED 0) - - include_directories(SYSTEM ${BROTLI_INCLUDE_DIR}) - ADD_THIRDPARTY_LIB(brotli_enc -@@ -955,45 +636,8 @@ if (ARROW_WITH_LZ4) - # ---------------------------------------------------------------------- - # Lz4 - -- if("${LZ4_HOME}" STREQUAL "") -- set(LZ4_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/lz4_ep-prefix/src/lz4_ep") -- set(LZ4_HOME "${LZ4_BUILD_DIR}") -- set(LZ4_INCLUDE_DIR "${LZ4_BUILD_DIR}/lib") -- -- if (MSVC) -- if (ARROW_USE_STATIC_CRT) -- if (${UPPERCASE_BUILD_TYPE} STREQUAL "DEBUG") -- set(LZ4_RUNTIME_LIBRARY_LINKAGE "/p:RuntimeLibrary=MultiThreadedDebug") -- else() -- set(LZ4_RUNTIME_LIBRARY_LINKAGE "/p:RuntimeLibrary=MultiThreaded") -- endif() -- endif() -- set(LZ4_STATIC_LIB "${LZ4_BUILD_DIR}/visual/VS2010/bin/x64_${CMAKE_BUILD_TYPE}/liblz4_static.lib") -- set(LZ4_BUILD_COMMAND BUILD_COMMAND msbuild.exe /m /p:Configuration=${CMAKE_BUILD_TYPE} /p:Platform=x64 /p:PlatformToolset=v140 -- ${LZ4_RUNTIME_LIBRARY_LINKAGE} /t:Build ${LZ4_BUILD_DIR}/visual/VS2010/lz4.sln) -- set(LZ4_PATCH_COMMAND PATCH_COMMAND git --git-dir=. apply --verbose --whitespace=fix ${CMAKE_SOURCE_DIR}/build-support/lz4_msbuild_gl_runtimelibrary_params.patch) -- else() -- set(LZ4_STATIC_LIB "${LZ4_BUILD_DIR}/lib/liblz4.a") -- set(LZ4_BUILD_COMMAND BUILD_COMMAND ${CMAKE_SOURCE_DIR}/build-support/build-lz4-lib.sh) -- endif() -- -- ExternalProject_Add(lz4_ep -- URL ${LZ4_SOURCE_URL} -- ${EP_LOG_OPTIONS} -- UPDATE_COMMAND "" -- ${LZ4_PATCH_COMMAND} -- CONFIGURE_COMMAND "" -- INSTALL_COMMAND "" -- BINARY_DIR ${LZ4_BUILD_DIR} -- BUILD_BYPRODUCTS ${LZ4_STATIC_LIB} -- ${LZ4_BUILD_COMMAND} -- ) -- -- set(LZ4_VENDORED 1) -- else() -- find_package(Lz4 REQUIRED) -- set(LZ4_VENDORED 0) -- endif() -+ find_package(Lz4 REQUIRED) -+ set(LZ4_VENDORED 0) - - include_directories(SYSTEM ${LZ4_INCLUDE_DIR}) - ADD_THIRDPARTY_LIB(lz4_static -@@ -1008,45 +652,8 @@ if (ARROW_WITH_ZSTD) - # ---------------------------------------------------------------------- - # ZSTD - -- if("${ZSTD_HOME}" STREQUAL "") -- set(ZSTD_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/zstd_ep-prefix/src/zstd_ep") -- set(ZSTD_INCLUDE_DIR "${ZSTD_BUILD_DIR}/lib") -- -- if (MSVC) -- if (ARROW_USE_STATIC_CRT) -- if (${UPPERCASE_BUILD_TYPE} STREQUAL "DEBUG") -- set(ZSTD_RUNTIME_LIBRARY_LINKAGE "/p:RuntimeLibrary=MultiThreadedDebug") -- else() -- set(ZSTD_RUNTIME_LIBRARY_LINKAGE "/p:RuntimeLibrary=MultiThreaded") -- endif() -- endif() -- set(ZSTD_STATIC_LIB "${ZSTD_BUILD_DIR}/build/VS2010/bin/x64_${CMAKE_BUILD_TYPE}/libzstd_static.lib") -- set(ZSTD_BUILD_COMMAND BUILD_COMMAND msbuild ${ZSTD_BUILD_DIR}/build/VS2010/zstd.sln /t:Build /v:minimal /p:Configuration=${CMAKE_BUILD_TYPE} -- ${ZSTD_RUNTIME_LIBRARY_LINKAGE} /p:Platform=x64 /p:PlatformToolset=v140 -- /p:OutDir=${ZSTD_BUILD_DIR}/build/VS2010/bin/x64_${CMAKE_BUILD_TYPE}/ /p:SolutionDir=${ZSTD_BUILD_DIR}/build/VS2010/ ) -- set(ZSTD_PATCH_COMMAND PATCH_COMMAND git --git-dir=. apply --verbose --whitespace=fix ${CMAKE_SOURCE_DIR}/build-support/zstd_msbuild_gl_runtimelibrary_params.patch) -- else() -- set(ZSTD_STATIC_LIB "${ZSTD_BUILD_DIR}/lib/libzstd.a") -- set(ZSTD_BUILD_COMMAND BUILD_COMMAND ${CMAKE_SOURCE_DIR}/build-support/build-zstd-lib.sh) -- endif() -- -- ExternalProject_Add(zstd_ep -- URL ${ZSTD_SOURCE_URL} -- ${EP_LOG_OPTIONS} -- UPDATE_COMMAND "" -- ${ZSTD_PATCH_COMMAND} -- CONFIGURE_COMMAND "" -- INSTALL_COMMAND "" -- BINARY_DIR ${ZSTD_BUILD_DIR} -- BUILD_BYPRODUCTS ${ZSTD_STATIC_LIB} -- ${ZSTD_BUILD_COMMAND} -- ) -- -- set(ZSTD_VENDORED 1) -- else() -- find_package(ZSTD REQUIRED) -- set(ZSTD_VENDORED 0) -- endif() -+ find_package(ZSTD REQUIRED) -+ set(ZSTD_VENDORED 0) - - include_directories(SYSTEM ${ZSTD_INCLUDE_DIR}) - ADD_THIRDPARTY_LIB(zstd_static -@@ -1063,24 +670,8 @@ endif() - - if (ARROW_ORC OR ARROW_FLIGHT) - # protobuf -- if ("${PROTOBUF_HOME}" STREQUAL "") -- set (PROTOBUF_PREFIX "${THIRDPARTY_DIR}/protobuf_ep-install") -- set (PROTOBUF_HOME "${PROTOBUF_PREFIX}") -- set (PROTOBUF_INCLUDE_DIR "${PROTOBUF_PREFIX}/include") -- set (PROTOBUF_STATIC_LIB "${PROTOBUF_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}protobuf${CMAKE_STATIC_LIBRARY_SUFFIX}") -- -- ExternalProject_Add(protobuf_ep -- CONFIGURE_COMMAND "./configure" "--disable-shared" "--prefix=${PROTOBUF_PREFIX}" "CXXFLAGS=${EP_CXX_FLAGS}" -- BUILD_IN_SOURCE 1 -- URL ${PROTOBUF_SOURCE_URL} -- BUILD_BYPRODUCTS "${PROTOBUF_STATIC_LIB}" -- ${EP_LOG_OPTIONS}) -- -- set (PROTOBUF_VENDORED 1) -- else () -- find_package (Protobuf REQUIRED) -- set (PROTOBUF_VENDORED 0) -- endif () -+ find_package (Protobuf REQUIRED) -+ set (PROTOBUF_VENDORED 0) - - include_directories (SYSTEM ${PROTOBUF_INCLUDE_DIR}) - if (ARROW_PROTOBUF_USE_SHARED) -@@ -1100,34 +691,8 @@ endif() - # Dependencies for Arrow Flight RPC - - if (ARROW_FLIGHT) -- if ("${GRPC_HOME}" STREQUAL "") -- set(GRPC_VENDORED 1) -- set(GRPC_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/grpc_ep-prefix/src/grpc_ep-build") -- set(GRPC_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/grpc_ep/src/grpc_ep-install") -- set(GRPC_HOME "${GRPC_PREFIX}") -- set(GRPC_INCLUDE_DIR "${GRPC_PREFIX}/include") -- set(GRPC_STATIC_LIBRARY_GPR "${GRPC_BUILD_DIR}/${CMAKE_CFG_INTDIR}/${CMAKE_STATIC_LIBRARY_PREFIX}gpr${CMAKE_STATIC_LIBRARY_SUFFIX}") -- set(GRPC_STATIC_LIBRARY_GRPC "${GRPC_BUILD_DIR}/${CMAKE_CFG_INTDIR}/${CMAKE_STATIC_LIBRARY_PREFIX}grpc${CMAKE_STATIC_LIBRARY_SUFFIX}") -- set(GRPC_STATIC_LIBRARY_GRPCPP "${GRPC_BUILD_DIR}/${CMAKE_CFG_INTDIR}/${CMAKE_STATIC_LIBRARY_PREFIX}grpcpp${CMAKE_STATIC_LIBRARY_SUFFIX}") -- set(GRPC_CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -- "-DCMAKE_CXX_FLAGS=${EP_CXX_FLAGS}" -- "-DCMAKE_C_FLAGS=${EP_C_FLAGS}" -- -DCMAKE_INSTALL_PREFIX=${GRPC_PREFIX} -- -DBUILD_SHARED_LIBS=OFF) -- -- ExternalProject_Add(grpc_ep -- GIT_REPOSITORY "https://github.com/grpc/grpc" -- GIT_TAG ${GRPC_VERSION} -- BUILD_BYPRODUCTS "${GRPC_STATIC_LIBRARY_GPR}" "${GRPC_STATIC_LIBRARY_GRPC}" "${GRPC_STATIC_LIBRARY_GRPCPP}" -- ${GRPC_BUILD_BYPRODUCTS} -- ${EP_LOG_OPTIONS} -- CMAKE_ARGS ${GRPC_CMAKE_ARGS} -- ${EP_LOG_OPTIONS}) -- include_directories(SYSTEM ${GRPC_INCLUDE_DIR}) -- else() -- find_package(gRPC CONFIG REQUIRED) -- set(GRPC_VENDORED 0) -- endif() -+ find_package(gRPC CONFIG REQUIRED) -+ set(GRPC_VENDORED 0) - - get_property(GPR_STATIC_LIB TARGET gRPC::gpr PROPERTY LOCATION) - ADD_THIRDPARTY_LIB(grpc_gpr -@@ -1157,60 +722,9 @@ endif() - - if (ARROW_ORC) - # orc -- if ("${ORC_HOME}" STREQUAL "") -- set(ORC_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/orc_ep-install") -- set(ORC_HOME "${ORC_PREFIX}") -- set(ORC_INCLUDE_DIR "${ORC_PREFIX}/include") -- set(ORC_STATIC_LIB "${ORC_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}orc${CMAKE_STATIC_LIBRARY_SUFFIX}") -- -- if ("${COMPILER_FAMILY}" STREQUAL "clang") -- if ("${COMPILER_VERSION}" VERSION_GREATER "4.0") -- set(ORC_CMAKE_CXX_FLAGS " -Wno-zero-as-null-pointer-constant \ -- -Wno-inconsistent-missing-destructor-override ") -- endif() -- endif() -- -- set(ORC_CMAKE_CXX_FLAGS "${EP_CXX_FLAGS} ${ORC_CMAKE_CXX_FLAGS}") -- -- # Since LZ4 isn't installed, the header file is in ${LZ4_HOME}/lib instead of -- # ${LZ4_HOME}/include, which forces us to specify the include directory -- # manually as well. -- set (ORC_CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -- -DCMAKE_INSTALL_PREFIX=${ORC_PREFIX} -- -DCMAKE_CXX_FLAGS=${ORC_CMAKE_CXX_FLAGS} -- -DBUILD_LIBHDFSPP=OFF -- -DBUILD_JAVA=OFF -- -DBUILD_TOOLS=OFF -- -DBUILD_CPP_TESTS=OFF -- -DINSTALL_VENDORED_LIBS=OFF -- -DPROTOBUF_HOME=${PROTOBUF_HOME} -- -DLZ4_HOME=${LZ4_HOME} -- -DLZ4_INCLUDE_DIR=${LZ4_INCLUDE_DIR} -- -DSNAPPY_HOME=${SNAPPY_HOME} -- -DZLIB_HOME=${ZLIB_HOME}) -- -- ExternalProject_Add(orc_ep -- URL ${ORC_SOURCE_URL} -- BUILD_BYPRODUCTS ${ORC_STATIC_LIB} -- CMAKE_ARGS ${ORC_CMAKE_ARGS} -- ${EP_LOG_OPTIONS}) -- -- set(ORC_VENDORED 1) -- add_dependencies(orc_ep zlib) -- if (LZ4_VENDORED) -- add_dependencies(orc_ep lz4_static) -- endif() -- if (SNAPPY_VENDORED) -- add_dependencies(orc_ep snappy) -- endif() -- if (PROTOBUF_VENDORED) -- add_dependencies(orc_ep protobuf_ep) -- endif() -- else() -- set(ORC_INCLUDE_DIR "${ORC_HOME}/include") -- set(ORC_STATIC_LIB "${ORC_HOME}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}orc${CMAKE_STATIC_LIBRARY_SUFFIX}") -- set(ORC_VENDORED 0) -- endif() -+ set(ORC_INCLUDE_DIR "${ORC_HOME}/include") -+ set(ORC_STATIC_LIB "${ORC_HOME}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}orc${CMAKE_STATIC_LIBRARY_SUFFIX}") -+ set(ORC_VENDORED 0) - - include_directories(SYSTEM ${ORC_INCLUDE_DIR}) - ADD_THIRDPARTY_LIB(orc -@@ -1231,97 +745,7 @@ if (ARROW_WITH_THRIFT) - # find thrift headers and libs - find_package(Thrift) - --if (NOT THRIFT_FOUND) -- set(THRIFT_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/thrift_ep/src/thrift_ep-install") -- set(THRIFT_HOME "${THRIFT_PREFIX}") -- set(THRIFT_INCLUDE_DIR "${THRIFT_PREFIX}/include") -- set(THRIFT_COMPILER "${THRIFT_PREFIX}/bin/thrift") -- set(THRIFT_CMAKE_ARGS "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}" -- "-DCMAKE_CXX_FLAGS=${EP_CXX_FLAGS}" -- "-DCMAKE_C_FLAGS=${EP_C_FLAGS}" -- "-DCMAKE_INSTALL_PREFIX=${THRIFT_PREFIX}" -- "-DCMAKE_INSTALL_RPATH=${THRIFT_PREFIX}/lib" -- "-DBUILD_SHARED_LIBS=OFF" -- "-DBUILD_TESTING=OFF" -- "-DBUILD_EXAMPLES=OFF" -- "-DBUILD_TUTORIALS=OFF" -- "-DWITH_QT4=OFF" -- "-DWITH_C_GLIB=OFF" -- "-DWITH_JAVA=OFF" -- "-DWITH_PYTHON=OFF" -- "-DWITH_HASKELL=OFF" -- "-DWITH_CPP=ON" -- "-DWITH_STATIC_LIB=ON" -- "-DWITH_LIBEVENT=OFF" -- ) -- -- # Thrift also uses boost. Forward important boost settings if there were ones passed. -- if (DEFINED BOOST_ROOT) -- set(THRIFT_CMAKE_ARGS ${THRIFT_CMAKE_ARGS} "-DBOOST_ROOT=${BOOST_ROOT}") -- endif() -- if (DEFINED Boost_NAMESPACE) -- set(THRIFT_CMAKE_ARGS ${THRIFT_CMAKE_ARGS} "-DBoost_NAMESPACE=${Boost_NAMESPACE}") -- endif() -- -- set(THRIFT_STATIC_LIB_NAME "${CMAKE_STATIC_LIBRARY_PREFIX}thrift") -- if (MSVC) -- if (ARROW_USE_STATIC_CRT) -- set(THRIFT_STATIC_LIB_NAME "${THRIFT_STATIC_LIB_NAME}mt") -- set(THRIFT_CMAKE_ARGS ${THRIFT_CMAKE_ARGS} "-DWITH_MT=ON") -- else() -- set(THRIFT_STATIC_LIB_NAME "${THRIFT_STATIC_LIB_NAME}md") -- set(THRIFT_CMAKE_ARGS ${THRIFT_CMAKE_ARGS} "-DWITH_MT=OFF") -- endif() -- endif() -- if (${UPPERCASE_BUILD_TYPE} STREQUAL "DEBUG") -- set(THRIFT_STATIC_LIB_NAME "${THRIFT_STATIC_LIB_NAME}d") -- endif() -- set(THRIFT_STATIC_LIB "${THRIFT_PREFIX}/lib/${THRIFT_STATIC_LIB_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX}") -- -- if (ZLIB_SHARED_LIB) -- set(THRIFT_CMAKE_ARGS "-DZLIB_LIBRARY=${ZLIB_SHARED_LIB}" -- ${THRIFT_CMAKE_ARGS}) -- else() -- set(THRIFT_CMAKE_ARGS "-DZLIB_LIBRARY=${ZLIB_STATIC_LIB}" -- ${THRIFT_CMAKE_ARGS}) -- endif() -- set(THRIFT_DEPENDENCIES ${THRIFT_DEPENDENCIES} zlib) -- -- if (MSVC) -- set(WINFLEXBISON_VERSION 2.4.9) -- set(WINFLEXBISON_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/winflexbison_ep/src/winflexbison_ep-install") -- ExternalProject_Add(winflexbison_ep -- URL https://github.com/lexxmark/winflexbison/releases/download/v.${WINFLEXBISON_VERSION}/win_flex_bison-${WINFLEXBISON_VERSION}.zip -- URL_HASH MD5=a2e979ea9928fbf8567e995e9c0df765 -- SOURCE_DIR ${WINFLEXBISON_PREFIX} -- CONFIGURE_COMMAND "" -- BUILD_COMMAND "" -- INSTALL_COMMAND "" -- ${EP_LOG_OPTIONS}) -- set(THRIFT_DEPENDENCIES ${THRIFT_DEPENDENCIES} winflexbison_ep) -- -- set(THRIFT_CMAKE_ARGS "-DFLEX_EXECUTABLE=${WINFLEXBISON_PREFIX}/win_flex.exe" -- "-DBISON_EXECUTABLE=${WINFLEXBISON_PREFIX}/win_bison.exe" -- "-DZLIB_INCLUDE_DIR=${ZLIB_INCLUDE_DIR}" -- "-DWITH_SHARED_LIB=OFF" -- "-DWITH_PLUGIN=OFF" -- ${THRIFT_CMAKE_ARGS}) -- elseif (APPLE) -- if (DEFINED BISON_EXECUTABLE) -- set(THRIFT_CMAKE_ARGS "-DBISON_EXECUTABLE=${BISON_EXECUTABLE}" -- ${THRIFT_CMAKE_ARGS}) -- endif() -- endif() -- -- ExternalProject_Add(thrift_ep -- URL ${THRIFT_SOURCE_URL} -- BUILD_BYPRODUCTS "${THRIFT_STATIC_LIB}" "${THRIFT_COMPILER}" -- CMAKE_ARGS ${THRIFT_CMAKE_ARGS} -- DEPENDS ${THRIFT_DEPENDENCIES} -- ${EP_LOG_OPTIONS}) -- -- set(THRIFT_VENDORED 1) +diff --git a/cmake_modules/FindgflagsAlt.cmake b/cmake_modules/FindgflagsAlt.cmake +index a9b8684..fdb815a 100644 +--- a/cmake_modules/FindgflagsAlt.cmake ++++ b/cmake_modules/FindgflagsAlt.cmake +@@ -15,18 +15,13 @@ + # specific language governing permissions and limitations + # under the License. + +-if(gflags_ROOT) +- find_library(gflags_LIB NAMES gflags PATHS ${gflags_ROOT} NO_DEFAULT_PATH) +- find_path(GFLAGS_INCLUDE_DIR +- NAMES gflags/gflags.h +- PATHS ${gflags_ROOT} +- NO_DEFAULT_PATH +- PATH_SUFFIXES "include") -else() -+if (THRIFT_FOUND) - set(THRIFT_VENDORED 0) +- find_library(gflags_LIB NAMES gflags) +- find_path(GFLAGS_INCLUDE_DIR NAMES gflags/gflags.h PATH_SUFFIXES "include") ++if(CMAKE_BUILD_TYPE STREQUAL "DEBUG") ++ set(GFLAGS_LIB_NAME_DEBUG_SUFFIX _debug) endif() -@@ -1347,45 +771,8 @@ endif() # ARROW_HIVESERVER2 - # GLOG ++find_library(gflags_LIB NAMES gflags${GFLAGS_LIB_NAME_DEBUG_SUFFIX} gflags_static${GFLAGS_LIB_NAME_DEBUG_SUFFIX}) ++find_path(GFLAGS_INCLUDE_DIR NAMES gflags/gflags.h PATH_SUFFIXES "include") ++ + find_package_handle_standard_args(gflagsAlt REQUIRED_VARS gflags_LIB GFLAGS_INCLUDE_DIR) - if (ARROW_USE_GLOG) -- if("${GLOG_HOME}" STREQUAL "") -- set(GLOG_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/glog_ep-prefix/src/glog_ep") -- set(GLOG_INCLUDE_DIR "${GLOG_BUILD_DIR}/include") -- set(GLOG_STATIC_LIB "${GLOG_BUILD_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}glog${CMAKE_STATIC_LIBRARY_SUFFIX}") -- set(GLOG_CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") -- set(GLOG_CMAKE_C_FLAGS "${EP_C_FLAGS} -fPIC") -- if (PTHREAD_LIBRARY) -- set(GLOG_CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -pthread") -- set(GLOG_CMAKE_C_FLAGS "${EP_C_FLAGS} -fPIC -pthread") -- endif() -- message(STATUS "GLOG_CMAKE_CXX_FLAGS: ${GLOG_CMAKE_CXX_FLAGS}") -- message(STATUS "CMAKE_CXX_FLAGS in glog: ${GLOG_CMAKE_CXX_FLAGS}") -- -- if(APPLE) -- # If we don't set this flag, the binary built with 10.13 cannot be used in 10.12. -- set(GLOG_CMAKE_CXX_FLAGS "${GLOG_CMAKE_CXX_FLAGS} -mmacosx-version-min=10.9") + if(gflagsAlt_FOUND) +diff --git a/cmake_modules/ThirdpartyToolchain.cmake b/cmake_modules/ThirdpartyToolchain.cmake +index bdb122b..58c123e 100644 +--- a/cmake_modules/ThirdpartyToolchain.cmake ++++ b/cmake_modules/ThirdpartyToolchain.cmake +@@ -923,10 +923,7 @@ if(ARROW_NEED_GFLAGS) + elseif(gflags_SOURCE STREQUAL "SYSTEM") + # gflagsConfig.cmake is not installed on Ubuntu/Debian + # TODO: Make a bug report upstream +- find_package(gflags) +- if(NOT gflags_FOUND) +- find_package(gflagsAlt REQUIRED) - endif() -- -- set(GLOG_CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -- -DCMAKE_INSTALL_PREFIX=${GLOG_BUILD_DIR} -- -DBUILD_SHARED_LIBS=OFF -- -DBUILD_TESTING=OFF -- -DWITH_GFLAGS=OFF -- -DCMAKE_CXX_FLAGS_${UPPERCASE_BUILD_TYPE}=${GLOG_CMAKE_CXX_FLAGS} -- -DCMAKE_C_FLAGS_${UPPERCASE_BUILD_TYPE}=${GLOG_CMAKE_C_FLAGS} -- -DCMAKE_CXX_FLAGS=${GLOG_CMAKE_CXX_FLAGS}) -- message(STATUS "Glog version: ${GLOG_VERSION}") -- ExternalProject_Add(glog_ep -- URL ${GLOG_SOURCE_URL} -- BUILD_IN_SOURCE 1 -- BUILD_BYPRODUCTS "${GLOG_STATIC_LIB}" -- CMAKE_ARGS ${GLOG_CMAKE_ARGS} -- ${EP_LOG_OPTIONS}) -- -- set(GLOG_VENDORED 1) -- else() -- find_package(GLOG REQUIRED) -- set(GLOG_VENDORED 0) -- endif() -+ find_package(GLOG REQUIRED) -+ set(GLOG_VENDORED 0) - - message(STATUS "Glog include dir: ${GLOG_INCLUDE_DIR}") - message(STATUS "Glog static library: ${GLOG_STATIC_LIB}") ++ find_package(gflagsAlt REQUIRED) + endif() + # TODO: Don't use global includes but rather target_include_directories + include_directories(SYSTEM ${GFLAGS_INCLUDE_DIR}) +@@ -1558,7 +1555,7 @@ if(ARROW_WITH_FLATBUFFERS) + elseif(Flatbuffers_SOURCE STREQUAL "BUNDLED") + build_flatbuffers() + elseif(Flatbuffers_SOURCE STREQUAL "SYSTEM") +- find_package(Flatbuffers QUIET) ++ #find_package(Flatbuffers QUIET) - disabled because on vcpkg this looks in the wrong place for the fb compiler and causes an error + if(NOT Flatbuffers_FOUND) + find_package(FlatbuffersAlt REQUIRED) + endif() diff --git a/ports/arrow/portfile.cmake b/ports/arrow/portfile.cmake index 73cf90eb2..28b58e8bf 100644 --- a/ports/arrow/portfile.cmake +++ b/ports/arrow/portfile.cmake @@ -7,8 +7,8 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO apache/arrow - REF apache-arrow-0.11.1 - SHA512 8a2de7e4b40666e4ea7818fac488549f1348e961e7cb6a4166ae4019976a574fd115dc1cabaf44bc1cbaabf15fb8e5133c8232b34fca250d8ff7c5b65c5407c8 + REF apache-arrow-0.13.0 + SHA512 bbb14d11abf267a6902c7c9e0215ba7c5284f07482be2de42707145265d2809c89c2d4d8f8b918fdb8c33a5ecbd650875b987a1a694cdf653e766822be67a47d HEAD_REF master ) @@ -27,33 +27,31 @@ string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "static" IS_STATIC) if (IS_STATIC) set(PARQUET_ARROW_LINKAGE static) + set(BOOST_USE_SHARED off) + set(USE_STATIC_CRT on) else() set(PARQUET_ARROW_LINKAGE shared) + set(BOOST_USE_SHARED on) + set(USE_STATIC_CRT off) endif() vcpkg_configure_cmake( SOURCE_PATH ${CPP_SOURCE_PATH} PREFER_NINJA OPTIONS + -DARROW_DEPENDENCY_SOURCE=SYSTEM -DARROW_BUILD_TESTS=off - -DRAPIDJSON_HOME=${CURRENT_INSTALLED_DIR} - -DFLATBUFFERS_HOME=${CURRENT_INSTALLED_DIR} - -DARROW_ZLIB_VENDORED=ON - -DBROTLI_HOME=${CURRENT_INSTALLED_DIR} - -DLZ4_HOME=${CURRENT_INSTALLED_DIR} - -DZSTD_HOME=${CURRENT_INSTALLED_DIR} - -DSNAPPY_HOME=${CURRENT_INSTALLED_DIR} -DBOOST_ROOT=${CURRENT_INSTALLED_DIR} - -DGFLAGS_HOME=${CURRENT_INSTALLED_DIR} - -DZLIB_HOME=${CURRENT_INSTALLED_DIR} -DARROW_PARQUET=ON -DARROW_BUILD_STATIC=${ARROW_BUILD_STATIC} -DARROW_BUILD_SHARED=${ARROW_BUILD_SHARED} -DBUILD_STATIC=${ARROW_BUILD_STATIC} -DBUILD_SHARED=${ARROW_BUILD_SHARED} -DPARQUET_ARROW_LINKAGE=${PARQUET_ARROW_LINKAGE} - -DDOUBLE_CONVERSION_HOME=${CURRENT_INSTALLED_DIR} - -DGLOG_HOME=${CURRENT_INSTALLED_DIR} + -DARROW_BOOST_USE_SHARED=${BOOST_USE_SHARED} + -DARROW_USE_STATIC_CRT=${USE_STATIC_CRT} + -DARROW_GFLAGS_USE_SHARED=off + -DARROW_JEMALLOC=off ) vcpkg_install_cmake() @@ -70,6 +68,15 @@ if(WIN32) endif() endif() +file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/arrow/cmake) +file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake/arrow/arrowConfig.cmake ${CURRENT_PACKAGES_DIR}/share/arrow/cmake/arrowConfig.cmake) +file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake/arrow/arrowConfigVersion.cmake ${CURRENT_PACKAGES_DIR}/share/arrow/cmake/arrowConfigVersion.cmake) +file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake/arrow/arrowTargets-release.cmake ${CURRENT_PACKAGES_DIR}/share/arrow/cmake/arrowTargets-release.cmake) +file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake/arrow/arrowTargets.cmake ${CURRENT_PACKAGES_DIR}/share/arrow/cmake/arrowTargets.cmake) +file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/cmake/arrow/arrowTargets-debug.cmake ${CURRENT_PACKAGES_DIR}/share/arrow/cmake/arrowTargets-debug.cmake) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/cmake) + file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/arrow RENAME copyright) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/ffmpeg/CONTROL b/ports/ffmpeg/CONTROL index ce69402dc..0fb3df0a7 100644 --- a/ports/ffmpeg/CONTROL +++ b/ports/ffmpeg/CONTROL @@ -1,5 +1,5 @@ Source: ffmpeg -Version: 4.1-1 +Version: 4.1-2 Description: a library to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. It supports the most obscure ancient formats up to the cutting edge. No matter if they were designed by some standards committee, the community or a corporation. It is also highly portable: FFmpeg compiles, runs, and passes our testing infrastructure FATE across Linux, Mac OS X, Microsoft Windows, the BSDs, Solaris, etc. under a wide variety of build environments, machine architectures, and configurations. diff --git a/ports/ffmpeg/FindFFMPEG.cmake b/ports/ffmpeg/FindFFMPEG.cmake index bd373bfae..f8e65f53a 100644 --- a/ports/ffmpeg/FindFFMPEG.cmake +++ b/ports/ffmpeg/FindFFMPEG.cmake @@ -6,6 +6,8 @@ foreach(FFMPEG_SUBLIBRARY avformat avdevice avcodec avutil swscale) find_library(FFMPEG_lib${FFMPEG_SUBLIBRARY}_LIBRARY NAMES ${FFMPEG_SUBLIBRARY}) list(APPEND FFMPEG_LIBRARIES ${FFMPEG_lib${FFMPEG_SUBLIBRARY}_LIBRARY}) endforeach() -list(APPEND FFMPEG_LIBRARIES wsock32 ws2_32 Secur32) +if(WIN32) + list(APPEND FFMPEG_LIBRARIES wsock32 ws2_32 Secur32) +endif() find_package_handle_standard_args(FFMPEG REQUIRED_VARS FFMPEG_LIBRARIES FFMPEG_INCLUDE_DIRS) diff --git a/ports/ffmpeg/build_linux.sh b/ports/ffmpeg/build_linux.sh new file mode 100644 index 000000000..b24be1346 --- /dev/null +++ b/ports/ffmpeg/build_linux.sh @@ -0,0 +1,23 @@ +#!/usr/bin/bash +set -e +export PATH=/usr/bin:$PATH +# Export HTTP(S)_PROXY as http(s)_proxy: +if [ "$HTTP_PROXY" ]; then + export http_proxy=$HTTP_PROXY +fi +if [ "$HTTPS_PROXY" ]; then + export https_proxy=$HTTPS_PROXY +fi + +PATH_TO_BUILD_DIR=$1 +PATH_TO_SRC_DIR=$2 +PATH_TO_PACKAGE_DIR=$3 +# Note: $4 is extra configure options + +cd "$PATH_TO_BUILD_DIR" +echo "=== CONFIGURING ===" +"$PATH_TO_SRC_DIR/configure" "--prefix=$PATH_TO_PACKAGE_DIR" $4 +echo "=== BUILDING ===" +make -j6 +echo "=== INSTALLING ===" +make install diff --git a/ports/ffmpeg/configure_opencv.patch b/ports/ffmpeg/configure_opencv.patch index 66678661e..ac5c82797 100644 --- a/ports/ffmpeg/configure_opencv.patch +++ b/ports/ffmpeg/configure_opencv.patch @@ -1,11 +1,11 @@ --- a/configure
+++ b/configure
-@@ -5804,7 +5804,7 @@
+@@ -6110,7 +6110,7 @@ enabled libopencore_amrnb && require libopencore_amrnb opencore-amrnb/interf_dec
enabled libopencore_amrwb && require libopencore_amrwb opencore-amrwb/dec_if.h D_IF_init -lopencore-amrwb
- enabled libopencv && { check_header opencv2/core/core_c.h &&
- { use_pkg_config opencv opencv2/core/core_c.h cvCreateImageHeader ||
-- require opencv opencv2/core/core_c.h cvCreateImageHeader -lopencv_core -lopencv_imgproc; } ||
+ enabled libopencv && { check_headers opencv2/core/core_c.h &&
+ { check_pkg_config libopencv opencv opencv2/core/core_c.h cvCreateImageHeader ||
+- require libopencv opencv2/core/core_c.h cvCreateImageHeader -lopencv_core -lopencv_imgproc; } ||
+ require opencv opencv2/core/core_c.h cvCreateImageHeader -lopencv_core341 -lopencv_imgproc341; } ||
- require_pkg_config opencv opencv/cxcore.h cvCreateImageHeader; }
- enabled libopenh264 && require_pkg_config openh264 wels/codec_api.h WelsGetCodecVersion
- enabled libopenjpeg && { { check_lib openjpeg-2.1/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } ||
+ require_pkg_config libopencv opencv opencv/cxcore.h cvCreateImageHeader; }
+ enabled libopenh264 && require_pkg_config libopenh264 openh264 wels/codec_api.h WelsGetCodecVersion
+ enabled libopenjpeg && { check_pkg_config libopenjpeg "libopenjp2 >= 2.1.0" openjpeg.h opj_version ||
diff --git a/ports/ffmpeg/detect-openssl.patch b/ports/ffmpeg/detect-openssl.patch index cb8a77e0a..affd37d15 100644 --- a/ports/ffmpeg/detect-openssl.patch +++ b/ports/ffmpeg/detect-openssl.patch @@ -12,14 +12,11 @@ diff --git a/configure b/configure index a1818dc..1cf2a7c 100755 --- a/configure +++ b/configure -@@ -5836,6 +5836,7 @@ enabled openssl && { use_pkg_config openssl openssl/ssl.h OPENSSL_init - check_lib openssl/ssl.h SSL_library_init -lssl -lcrypto || - check_lib openssl/ssl.h SSL_library_init -lssl32 -leay32 || - check_lib openssl/ssl.h SSL_library_init -lssl -lcrypto -lws2_32 -lgdi32 || -+ check_lib openssl/ssl.h SSL_library_init -llibeay32 -lssleay32 || +@@ -6127,6 +6127,7 @@ + check_lib openssl openssl/ssl.h SSL_library_init -lssl -lcrypto || + check_lib openssl openssl/ssl.h SSL_library_init -lssl32 -leay32 || + check_lib openssl openssl/ssl.h SSL_library_init -lssl -lcrypto -lws2_32 -lgdi32 || ++ check_lib openssl openssl/ssl.h SSL_library_init -llibeay32 -lssleay32 || die "ERROR: openssl not found"; } - enabled qtkit_indev && { check_header_objcc QTKit/QTKit.h || disable qtkit_indev; } - --- -2.10.1.windows.1 - + enabled rkmpp && { require_pkg_config rkmpp rockchip_mpp rockchip/rk_mpi.h mpp_create && + require_pkg_config rockchip_mpp "rockchip_mpp >= 1.3.7" rockchip/rk_mpi.h mpp_create && diff --git a/ports/ffmpeg/portfile.cmake b/ports/ffmpeg/portfile.cmake index f8c0c9f38..262867d84 100644 --- a/ports/ffmpeg/portfile.cmake +++ b/ports/ffmpeg/portfile.cmake @@ -23,12 +23,22 @@ vcpkg_find_acquire_program(YASM) get_filename_component(YASM_EXE_PATH ${YASM} DIRECTORY) set(ENV{PATH} "$ENV{PATH};${YASM_EXE_PATH}") -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") - vcpkg_acquire_msys(MSYS_ROOT PACKAGES perl gcc diffutils make) +if (WIN32) + if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") + vcpkg_acquire_msys(MSYS_ROOT PACKAGES perl gcc diffutils make) + else() + vcpkg_acquire_msys(MSYS_ROOT PACKAGES diffutils make) + endif() +endif() + +if (WIN32) + set(BASH ${MSYS_ROOT}/usr/bin/bash.exe) + set(BUILD_SCRIPT ${CMAKE_CURRENT_LIST_DIR}\\build.sh) else() - vcpkg_acquire_msys(MSYS_ROOT PACKAGES diffutils make) + set(BASH bash) + set(BUILD_SCRIPT ${CMAKE_CURRENT_LIST_DIR}/build_linux.sh) endif() -set(BASH ${MSYS_ROOT}/usr/bin/bash.exe) + set(ENV{INCLUDE} "${CURRENT_INSTALLED_DIR}/include;$ENV{INCLUDE}") set(ENV{LIB} "${CURRENT_INSTALLED_DIR}/lib;$ENV{LIB}") @@ -122,18 +132,20 @@ endif() message(STATUS "Building Options: ${OPTIONS}") -if(VCPKG_CRT_LINKAGE STREQUAL "dynamic") - set(OPTIONS_DEBUG "${OPTIONS_DEBUG} --extra-cflags=-MDd --extra-cxxflags=-MDd") - set(OPTIONS_RELEASE "${OPTIONS_RELEASE} --extra-cflags=-MD --extra-cxxflags=-MD") -else() - set(OPTIONS_DEBUG "${OPTIONS_DEBUG} --extra-cflags=-MTd --extra-cxxflags=-MTd") - set(OPTIONS_RELEASE "${OPTIONS_RELEASE} --extra-cflags=-MT --extra-cxxflags=-MT") +if(WIN32) + if(VCPKG_CRT_LINKAGE STREQUAL "dynamic") + set(OPTIONS_DEBUG "${OPTIONS_DEBUG} --extra-cflags=-MDd --extra-cxxflags=-MDd") + set(OPTIONS_RELEASE "${OPTIONS_RELEASE} --extra-cflags=-MD --extra-cxxflags=-MD") + else() + set(OPTIONS_DEBUG "${OPTIONS_DEBUG} --extra-cflags=-MTd --extra-cxxflags=-MTd") + set(OPTIONS_RELEASE "${OPTIONS_RELEASE} --extra-cflags=-MT --extra-cxxflags=-MT") + endif() endif() message(STATUS "Building ${_csc_PROJECT_PATH} for Release") file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) vcpkg_execute_required_process( - COMMAND ${BASH} --noprofile --norc "${CMAKE_CURRENT_LIST_DIR}\\build.sh" + COMMAND ${BASH} --noprofile --norc "${BUILD_SCRIPT}" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" # BUILD DIR "${SOURCE_PATH}" # SOURCE DIR "${CURRENT_PACKAGES_DIR}" # PACKAGE DIR @@ -145,7 +157,7 @@ vcpkg_execute_required_process( message(STATUS "Building ${_csc_PROJECT_PATH} for Debug") file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) vcpkg_execute_required_process( - COMMAND ${BASH} --noprofile --norc "${CMAKE_CURRENT_LIST_DIR}\\build.sh" + COMMAND ${BASH} --noprofile --norc "${BUILD_SCRIPT}" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg" # BUILD DIR "${SOURCE_PATH}" # SOURCE DIR "${CURRENT_PACKAGES_DIR}/debug" # PACKAGE DIR diff --git a/ports/fftw3/CONTROL b/ports/fftw3/CONTROL index c1986ce4d..1ff42851f 100644 --- a/ports/fftw3/CONTROL +++ b/ports/fftw3/CONTROL @@ -1,5 +1,5 @@ Source: fftw3
-Version: 3.3.8-2
+Version: 3.3.8-3
Description: FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of arbitrary input size, and of both real and complex data (as well as of even/odd data, i.e. the discrete cosine/sine transforms or DCT/DST).
Feature: openmp
diff --git a/ports/fftw3/fftw3_arch_fix.patch b/ports/fftw3/fftw3_arch_fix.patch index a3462ea60..922d86b97 100644 --- a/ports/fftw3/fftw3_arch_fix.patch +++ b/ports/fftw3/fftw3_arch_fix.patch @@ -1,8 +1,8 @@ -diff --git a/CMakeLists - Kopie.txt b/CMakeLists.txt -index 95bd537a..245acc8f 100644 ---- a/CMakeLists - Kopie.txt -+++ b/CMakeLists.txt -@@ -131,6 +131,7 @@ endif () +diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 95bd537a..245acc8f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -131,6 +131,7 @@ endif ()
include (CheckCCompilerFlag)
@@ -10,7 +10,7 @@ index 95bd537a..245acc8f 100644 if (ENABLE_SSE)
foreach (FLAG "-msse" "/arch:SSE")
unset (HAVE_SSE CACHE)
-@@ -176,8 +177,9 @@ if (ENABLE_AVX2) +@@ -176,8 +177,9 @@ if (ENABLE_AVX2)
endif ()
# AVX2 codelets require FMA support as well
diff --git a/ports/gdal/CONTROL b/ports/gdal/CONTROL index f31e33818..a5c79363a 100644 --- a/ports/gdal/CONTROL +++ b/ports/gdal/CONTROL @@ -1,5 +1,5 @@ Source: gdal -Version: 2.4.0-1 +Version: 2.4.0-2 Description: The Geographic Data Abstraction Library for reading and writing geospatial raster and vector data. Build-Depends: proj, libpng, geos, sqlite3, curl, expat, libpq, openjpeg, libwebp, libxml2, liblzma, netcdf-c, hdf5 diff --git a/ports/gdal/portfile.cmake b/ports/gdal/portfile.cmake index 46395386c..8c0c9a04d 100644 --- a/ports/gdal/portfile.cmake +++ b/ports/gdal/portfile.cmake @@ -37,14 +37,23 @@ endif() foreach(BUILD_TYPE IN LISTS BUILD_TYPES) file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-${BUILD_TYPE}) vcpkg_extract_source_archive(${ARCHIVE} ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-${BUILD_TYPE}) - vcpkg_apply_patches( - SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-${BUILD_TYPE}/gdal-${GDAL_VERSION_STR} - PATCHES - ${CMAKE_CURRENT_LIST_DIR}/0001-Fix-debug-crt-flags.patch - ${CMAKE_CURRENT_LIST_DIR}/0002-Fix-static-build.patch - ) + if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_apply_patches( + SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-${BUILD_TYPE}/gdal-${GDAL_VERSION_STR} + PATCHES + ${CMAKE_CURRENT_LIST_DIR}/0001-Fix-debug-crt-flags.patch + ${CMAKE_CURRENT_LIST_DIR}/0002-Fix-static-build.patch + ) + else() + vcpkg_apply_patches( + SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-${BUILD_TYPE}/gdal-${GDAL_VERSION_STR} + PATCHES + ${CMAKE_CURRENT_LIST_DIR}/0001-Fix-debug-crt-flags.patch + ) + endif() endforeach() + find_program(NMAKE nmake REQUIRED) file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" NATIVE_PACKAGES_DIR) diff --git a/ports/giflib/portfile.cmake b/ports/giflib/portfile.cmake index 86a7f9465..aeca810ed 100644 --- a/ports/giflib/portfile.cmake +++ b/ports/giflib/portfile.cmake @@ -22,6 +22,7 @@ file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS_DEBUG -DGIFLIB_SKIP_HEADERS=ON ) diff --git a/ports/glew/CONTROL b/ports/glew/CONTROL index 45af04091..54b2d09df 100644 --- a/ports/glew/CONTROL +++ b/ports/glew/CONTROL @@ -1,3 +1,3 @@ Source: glew
-Version: 2.1.0-2
+Version: 2.1.0-3
Description: The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source C/C++ extension loading library.
diff --git a/ports/glew/portfile.cmake b/ports/glew/portfile.cmake index 1e2080458..9b982db7f 100644 --- a/ports/glew/portfile.cmake +++ b/ports/glew/portfile.cmake @@ -13,6 +13,7 @@ vcpkg_extract_source_archive(${ARCHIVE_FILE} ${CURRENT_BUILDTREES_DIR}/src/glew) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH}/build/cmake + DISABLE_PARALLEL_CONFIGURE OPTIONS -DBUILD_UTILS=OFF ) diff --git a/ports/hdf5/CONTROL b/ports/hdf5/CONTROL index 36c874111..229d659e7 100644 --- a/ports/hdf5/CONTROL +++ b/ports/hdf5/CONTROL @@ -1,5 +1,5 @@ Source: hdf5 -Version: 1.10.5-3 +Version: 1.10.5-4 Description: HDF5 is a data model, library, and file format for storing and managing data Build-Depends: zlib, szip diff --git a/ports/hdf5/portfile.cmake b/ports/hdf5/portfile.cmake index 1b4225d2e..eef241163 100644 --- a/ports/hdf5/portfile.cmake +++ b/ports/hdf5/portfile.cmake @@ -3,13 +3,11 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") endif() include(vcpkg_common_functions) -#set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/CMake-hdf5-1.10.5/hdf5-1.10.5) vcpkg_download_distfile(ARCHIVE URLS "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.5/src/CMake-hdf5-1.10.5.tar.gz" FILENAME "CMake-hdf5-1.10.5.tar.gz" SHA512 a25ea28d7a511f9184d97b5b8cd4c6d52dcdcad2bffd670e24a1c9a6f98b03108014a853553fa2b00d4be7523128b5fd6a4454545e3b17ff8c66fea16a09e962 ) -vcpkg_extract_source_archive(${ARCHIVE}) vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH @@ -32,7 +30,7 @@ else() set(ENABLE_CPP OFF) endif() -#Note: HDF5 Builds by default static as well as shared libraries set BUILD_SHARED_LIBS to OFF to only get static libraries +#Note: HDF5 Builds by default static as well as shared libraries. Set BUILD_SHARED_LIBS to OFF to only get static libraries string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED_LIBS) vcpkg_configure_cmake( @@ -56,14 +54,15 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() -file(RENAME ${CURRENT_PACKAGES_DIR}/share/hdf5/data/COPYING ${CURRENT_PACKAGES_DIR}/share/hdf5/copyright) - vcpkg_fixup_cmake_targets(CONFIG_PATH share/hdf5) #Linux build create additional scripts here. I dont know what they are doing so I am deleting them and hope for the best -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) endif() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +file(RENAME ${CURRENT_PACKAGES_DIR}/share/hdf5/data/COPYING ${CURRENT_PACKAGES_DIR}/share/hdf5/copyright) +configure_file(${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake ${CURRENT_PACKAGES_DIR}/share/hdf5/vcpkg-cmake-wrapper.cmake @ONLY) diff --git a/ports/hdf5/vcpkg-cmake-wrapper.cmake b/ports/hdf5/vcpkg-cmake-wrapper.cmake new file mode 100644 index 000000000..96d8a53c9 --- /dev/null +++ b/ports/hdf5/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,15 @@ +
+if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.3)
+ cmake_policy(PUSH)
+ cmake_policy(SET CMP0057 NEW)
+ if(NOT "CONFIG" IN_LIST ARGS AND NOT "NO_MODULE" IN_LIST ARGS AND "HDF5" IN_LIST ARGS)
+ # The caller hasn't said "CONFIG", so they want the built-in FindHDF5.cmake behavior. Set configurations macros to ensure the built-in script finds us.
+ if("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static")
+ set(HDF5_USE_STATIC_LIBRARIES ON)
+ else()
+ set(HDF5_USE_STATIC_LIBRARIES OFF)
+ endif()
+ endif()
+ cmake_policy(POP)
+endif()
+_find_package(${ARGS})
diff --git a/ports/highfive/CONTROL b/ports/highfive/CONTROL index b82598048..af4df7993 100644 --- a/ports/highfive/CONTROL +++ b/ports/highfive/CONTROL @@ -1,4 +1,4 @@ Source: highfive -Version: 1.5-1 +Version: 2.0 Description: HighFive is a modern C++/C++11 friendly interface for libhdf5 Build-Depends: hdf5 diff --git a/ports/highfive/portfile.cmake b/ports/highfive/portfile.cmake index b0fe41e73..ed88a45c9 100644 --- a/ports/highfive/portfile.cmake +++ b/ports/highfive/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO BlueBrain/HighFive - REF v1.5 - SHA512 4133ec2768f54cb3e56c32f3193d6c61ea96013dc73901c39d31ecaf10b04ea2861b0f6f5c9795985050ef72a75e2d360a4b906c9cdeb8ee49309961e15d39bf + REF v2.0 + SHA512 d6bc38ae421adfa3cb9ee761ec92819bebe385cb100a8227bd9ff436cd7ae31725a96264a7963cfe5ce806cdd3b7978a8a630e9312c1567f6df6029062c6b8a0 HEAD_REF master ) @@ -28,7 +28,7 @@ vcpkg_install_cmake() vcpkg_fixup_cmake_targets(CONFIG_PATH share/HighFive/CMake) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) -if(NOT WIN32) +if(NOT WIN32 AND NOT APPLE) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/HighFive) endif() diff --git a/ports/libharu/CONTROL b/ports/libharu/CONTROL index c4f48ab3d..72778aa6b 100644 --- a/ports/libharu/CONTROL +++ b/ports/libharu/CONTROL @@ -1,4 +1,4 @@ Source: libharu -Version: 2017-08-15-d84867ebf9f-5 +Version: 2017-08-15-d84867ebf9f-6 Description: libharu - free PDF library Build-Depends: zlib, libpng diff --git a/ports/libharu/add-boolean-typedef.patch b/ports/libharu/add-boolean-typedef.patch new file mode 100644 index 000000000..7768ed301 --- /dev/null +++ b/ports/libharu/add-boolean-typedef.patch @@ -0,0 +1,12 @@ +diff --git a/include/hpdf.h b/include/hpdf.h
+index 1cf0dd9..cce9b59 100644
+--- a/include/hpdf.h
++++ b/include/hpdf.h
+@@ -54,6 +54,7 @@
+ #include "hpdf_types.h"
+
+ typedef void *HPDF_HANDLE;
++typedef HPDF_HANDLE HPDF_Boolean;
+ typedef HPDF_HANDLE HPDF_Doc;
+ typedef HPDF_HANDLE HPDF_Page;
+ typedef HPDF_HANDLE HPDF_Pages;
diff --git a/ports/libharu/portfile.cmake b/ports/libharu/portfile.cmake index 42f85c2b4..7855dedc7 100644 --- a/ports/libharu/portfile.cmake +++ b/ports/libharu/portfile.cmake @@ -1,11 +1,22 @@ include(vcpkg_common_functions) + +vcpkg_download_distfile(SHADING_PR + URLS "https://github.com/libharu/libharu/pull/157.diff" + FILENAME "libharu-shading-pr-157.patch" + SHA512 f2ddb22b54b4eccc79400b6a4b2d245a221898f75456a5a559523eab7a523a87dfc5dfd0ec5fb17a771697e03c7ea6ed4c6095eff73e0a4302cd6eb24584c957 +) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libharu/libharu REF d84867ebf9f3de6afd661d2cdaff102457fbc371 SHA512 789579dd52c1056ae90a4ce5360c26ba92cadae5341a3901c4159afe624129a1f628fa6412952a398e048b0e5040c93f7ed5b4e4bc620a22d897098298fe2a99 HEAD_REF master - PATCHES fix-build-fail.patch + PATCHES + fix-build-fail.patch + add-boolean-typedef.patch + # This patch adds shading support which is required for VTK. If desired, this could be moved into an on-by-default feature. + ${SHADING_PR} ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" LIBHPDF_STATIC) @@ -21,7 +32,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(RENAME ${CURRENT_PACKAGES_DIR}/lib/libhpdfs.lib ${CURRENT_PACKAGES_DIR}/lib/libhpdf.lib) file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libhpdfsd.lib ${CURRENT_PACKAGES_DIR}/debug/lib/libhpdfd.lib) endif() diff --git a/ports/llvm/CONTROL b/ports/llvm/CONTROL index 9beb04e29..d4e631680 100644 --- a/ports/llvm/CONTROL +++ b/ports/llvm/CONTROL @@ -1,4 +1,4 @@ Source: llvm
-Version: 7.0.0
+Version: 7.0.0-2
Description: The LLVM Compiler Infrastructure
Build-Depends: atlmfc (windows)
diff --git a/ports/llvm/install-cmake-modules-to-share.patch b/ports/llvm/install-cmake-modules-to-share.patch index b5193beca..1a2b3b0db 100644 --- a/ports/llvm/install-cmake-modules-to-share.patch +++ b/ports/llvm/install-cmake-modules-to-share.patch @@ -1,10 +1,26 @@ -diff --git a/cmake/modules/CMakeLists.txt b/cmake/modules/CMakeLists.txt -index ac4b0b7..13a271d 100644 ---- a/cmake/modules/CMakeLists.txt -+++ b/cmake/modules/CMakeLists.txt +diff -urN llvm-7.0.0.src-orig/cmake/modules/CMakeLists.txt llvm-7.0.0.src/cmake/modules/CMakeLists.txt +--- llvm-7.0.0.src-orig/cmake/modules/CMakeLists.txt 2018-07-27 13:57:51.000000000 +0300 ++++ llvm-7.0.0.src/cmake/modules/CMakeLists.txt 2019-03-26 14:56:34.645434190 +0200 @@ -1,4 +1,4 @@ -set(LLVM_INSTALL_PACKAGE_DIR lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm) +set(LLVM_INSTALL_PACKAGE_DIR share/llvm) set(llvm_cmake_builddir "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}") # First for users who use an installed LLVM, create the LLVMExports.cmake file. +diff -urN llvm-7.0.0.src-orig/tools/clang/cmake/modules/CMakeLists.txt llvm-7.0.0.src/tools/clang/cmake/modules/CMakeLists.txt +--- llvm-7.0.0.src-orig/tools/clang/cmake/modules/CMakeLists.txt 2018-01-24 21:26:50.000000000 +0200 ++++ llvm-7.0.0.src/tools/clang/cmake/modules/CMakeLists.txt 2019-03-26 14:57:07.173362736 +0200 +@@ -1,11 +1,11 @@ + # Generate a list of CMake library targets so that other CMake projects can + # link against them. LLVM calls its version of this file LLVMExports.cmake, but + # the usual CMake convention seems to be ${Project}Targets.cmake. +-set(CLANG_INSTALL_PACKAGE_DIR lib${LLVM_LIBDIR_SUFFIX}/cmake/clang) ++set(CLANG_INSTALL_PACKAGE_DIR share/clang) + set(clang_cmake_builddir "${CMAKE_BINARY_DIR}/${CLANG_INSTALL_PACKAGE_DIR}") + + # Keep this in sync with llvm/cmake/CMakeLists.txt! +-set(LLVM_INSTALL_PACKAGE_DIR lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm) ++set(LLVM_INSTALL_PACKAGE_DIR share/llvm) + set(llvm_cmake_builddir "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}") + + get_property(CLANG_EXPORTS GLOBAL PROPERTY CLANG_EXPORTS) diff --git a/ports/llvm/portfile.cmake b/ports/llvm/portfile.cmake index fd0507080..a471ec1ae 100644 --- a/ports/llvm/portfile.cmake +++ b/ports/llvm/portfile.cmake @@ -46,6 +46,7 @@ vcpkg_configure_cmake( -DLLVM_INCLUDE_TESTS=OFF
-DLLVM_ABI_BREAKING_CHECKS=FORCE_OFF
-DLLVM_TOOLS_INSTALL_DIR=tools/llvm
+ -DLLVM_PARALLEL_LINK_JOBS=1
)
vcpkg_install_cmake()
@@ -62,10 +63,30 @@ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") file(REMOVE ${DEBUG_EXE})
endif()
-vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/clang TARGET_PATH share/clang)
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/clang TARGET_PATH share/clang)
vcpkg_fixup_cmake_targets(CONFIG_PATH share/llvm)
vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/llvm)
+if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
+ file(READ ${CURRENT_PACKAGES_DIR}/share/clang/ClangTargets-release.cmake RELEASE_MODULE)
+ string(REPLACE "\${_IMPORT_PREFIX}/bin" "\${_IMPORT_PREFIX}/tools/llvm" RELEASE_MODULE "${RELEASE_MODULE}")
+ file(WRITE ${CURRENT_PACKAGES_DIR}/share/clang/ClangTargets-release.cmake "${RELEASE_MODULE}")
+
+ file(READ ${CURRENT_PACKAGES_DIR}/share/llvm/LLVMExports-release.cmake RELEASE_MODULE)
+ string(REPLACE "\${_IMPORT_PREFIX}/bin" "\${_IMPORT_PREFIX}/tools/llvm" RELEASE_MODULE "${RELEASE_MODULE}")
+ file(WRITE ${CURRENT_PACKAGES_DIR}/share/llvm/LLVMExports-release.cmake "${RELEASE_MODULE}")
+endif()
+
+if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
+ file(READ ${CURRENT_PACKAGES_DIR}/share/clang/ClangTargets-debug.cmake DEBUG_MODULE)
+ string(REPLACE "\${_IMPORT_PREFIX}/debug/bin" "\${_IMPORT_PREFIX}/tools/llvm" DEBUG_MODULE "${DEBUG_MODULE}")
+ file(WRITE ${CURRENT_PACKAGES_DIR}/share/clang/ClangTargets-debug.cmake "${DEBUG_MODULE}")
+
+ file(READ ${CURRENT_PACKAGES_DIR}/share/llvm/LLVMExports-debug.cmake DEBUG_MODULE)
+ string(REPLACE "\${_IMPORT_PREFIX}/debug/bin" "\${_IMPORT_PREFIX}/tools/llvm" DEBUG_MODULE "${DEBUG_MODULE}")
+ file(WRITE ${CURRENT_PACKAGES_DIR}/share/llvm/LLVMExports-debug.cmake "${DEBUG_MODULE}")
+endif()
+
file(REMOVE_RECURSE
${CURRENT_PACKAGES_DIR}/debug/include
${CURRENT_PACKAGES_DIR}/debug/tools
diff --git a/ports/msgpack/CONTROL b/ports/msgpack/CONTROL index 7c9933d27..e75f0743f 100644 --- a/ports/msgpack/CONTROL +++ b/ports/msgpack/CONTROL @@ -1,3 +1,3 @@ Source: msgpack -Version: 2.1.5-1 +Version: 3.1.1 Description: MessagePack is an efficient binary serialization format, which lets you exchange data among multiple languages like JSON, except that it's faster and smaller. diff --git a/ports/msgpack/portfile.cmake b/ports/msgpack/portfile.cmake index 9328811dd..33873e990 100644 --- a/ports/msgpack/portfile.cmake +++ b/ports/msgpack/portfile.cmake @@ -2,8 +2,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO msgpack/msgpack-c - REF cpp-2.1.5 - SHA512 aab8357e494bb5aa7407b53e5e650382869ea95812a6677e085530d5f27cde6946fbfd0095b19608c75163dbb82de9ccb6a695234e7c03659fc6efc2da300e19 + REF cpp-3.1.1 + SHA512 2d1607f482160d8860b07d7597af760bfefcb3afa4e82602df43487d15950ab235e7efeabd7e08996807935de71d4dcdab424c91bff806279419db2ec9500227 HEAD_REF master) vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH} diff --git a/ports/octomap/CONTROL b/ports/octomap/CONTROL index f6633ea07..71e76163a 100644 --- a/ports/octomap/CONTROL +++ b/ports/octomap/CONTROL @@ -1,3 +1,3 @@ Source: octomap -Version: cefed0c1d79afafa5aeb05273cf1246b093b771c-4 +Version: cefed0c1d79afafa5aeb05273cf1246b093b771c-5 Description: An Efficient Probabilistic 3D Mapping Framework Based on Octrees diff --git a/ports/octomap/portfile.cmake b/ports/octomap/portfile.cmake index 5155c31bb..98630922e 100644 --- a/ports/octomap/portfile.cmake +++ b/ports/octomap/portfile.cmake @@ -14,6 +14,7 @@ vcpkg_from_github( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + DISABLE_PARALLEL_CONFIGURE OPTIONS -DBUILD_OCTOVIS_SUBPROJECT=OFF -DBUILD_DYNAMICETD3D_SUBPROJECT=OFF diff --git a/ports/qca/CONTROL b/ports/qca/CONTROL index 72f20869f..4c09bf3b1 100644 --- a/ports/qca/CONTROL +++ b/ports/qca/CONTROL @@ -1,4 +1,4 @@ Source: qca -Version: 2.2.0-3 +Version: 2.2.0-4 Description: Qt Cryptographic Architecture (QCA). Sources: https://cgit.kde.org/qca.git/ Build-Depends: qt5-base diff --git a/ports/qca/portfile.cmake b/ports/qca/portfile.cmake index ff667cd6c..55acdc0b6 100644 --- a/ports/qca/portfile.cmake +++ b/ports/qca/portfile.cmake @@ -33,12 +33,12 @@ message(STATUS "Importing certstore") file(REMOVE ${SOURCE_PATH}/certs/rootcerts.pem) # Using file(DOWNLOAD) to use https file(DOWNLOAD https://raw.githubusercontent.com/mozilla/gecko-dev/master/security/nss/lib/ckfw/builtins/certdata.txt - ${CMAKE_CURRENT_LIST_DIR}/certdata.txt + ${CURRENT_BUILDTREES_DIR}/cert/certdata.txt TLS_VERIFY ON ) vcpkg_execute_required_process( COMMAND ${PERL} ${CMAKE_CURRENT_LIST_DIR}/mk-ca-bundle.pl -n ${SOURCE_PATH}/certs/rootcerts.pem - WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/cert LOGNAME ca-bundle ) message(STATUS "Importing certstore done") diff --git a/ports/roaring/CONTROL b/ports/roaring/CONTROL index 7b5b05949..0b1327da4 100644 --- a/ports/roaring/CONTROL +++ b/ports/roaring/CONTROL @@ -1,3 +1,3 @@ Source: roaring
-Version: 2019-03-05-1
+Version: 2019-03-05-2
Description: A better compressed bitset in C (and C++)
diff --git a/ports/roaring/portfile.cmake b/ports/roaring/portfile.cmake index 8748c4e57..937fd0751 100644 --- a/ports/roaring/portfile.cmake +++ b/ports/roaring/portfile.cmake @@ -17,6 +17,7 @@ string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" ROARING_BUILD_STATIC) vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
+ DISABLE_PARALLEL_CONFIGURE
OPTIONS
-DROARING_BUILD_STATIC=${ROARING_BUILD_STATIC}
-DENABLE_ROARING_TESTS=OFF
diff --git a/ports/vtk/CONTROL b/ports/vtk/CONTROL index 0d489e677..0625a3ac1 100644 --- a/ports/vtk/CONTROL +++ b/ports/vtk/CONTROL @@ -1,7 +1,7 @@ Source: vtk Version: 8.2.0-2 Description: Software system for 3D computer graphics, image processing, and visualization -Build-Depends: zlib, libpng, tiff, libxml2, jsoncpp, glew, freetype, expat, hdf5, libjpeg-turbo, proj4, lz4, libtheora, atlmfc (windows) +Build-Depends: zlib, libpng, tiff, libxml2, jsoncpp, glew, freetype, expat, hdf5, libjpeg-turbo, proj4, lz4, libtheora, atlmfc (windows), eigen3, double-conversion, pugixml, libharu, sqlite3, netcdf-c Feature: openvr Description: OpenVR functionality for VTK @@ -18,7 +18,3 @@ Build-Depends: msmpi, hdf5[parallel] Feature: python Description: Python functionality for VTK Build-Depends: python3 - -Feature: libharu -Description: PDF libharu functionality for VTK -Build-Depends: libharu diff --git a/ports/vtk/fix-pugixml-link.patch b/ports/vtk/fix-pugixml-link.patch new file mode 100644 index 000000000..8708506b6 --- /dev/null +++ b/ports/vtk/fix-pugixml-link.patch @@ -0,0 +1,14 @@ +diff --git a/IO/CityGML/CMakeLists.txt b/IO/CityGML/CMakeLists.txt
+index ce979ba..322e2de 100644
+--- a/IO/CityGML/CMakeLists.txt
++++ b/IO/CityGML/CMakeLists.txt
+@@ -4,8 +4,5 @@ vtk_module_library(vtkIOCityGML ${Module_SRCS})
+ # pugixml does not set _INCLUDE_DIRS or _LIBRARIES
+ if(VTK_USE_SYSTEM_PUGIXML AND NOT pugixml_INCLUDE_DIRS)
+ find_package(pugixml REQUIRED)
+- get_target_property(pugixml_INCLUDE_DIRS pugixml INTERFACE_INCLUDE_DIRECTORIES)
+- get_target_property(pugixml_LIBRARIES pugixml LOCATION)
+- include_directories(${pugixml_INCLUDE_DIRS})
+- vtk_module_link_libraries(vtkIOCityGML LINK_PRIVATE ${pugixml_LIBRARIES})
++ vtk_module_link_libraries(vtkIOCityGML LINK_PRIVATE pugixml)
+ endif()
diff --git a/ports/vtk/portfile.cmake b/ports/vtk/portfile.cmake index baff2cb06..536a81141 100644 --- a/ports/vtk/portfile.cmake +++ b/ports/vtk/portfile.cmake @@ -16,9 +16,9 @@ else() endif() if ("mpi" IN_LIST FEATURES) - set(VTK_WITH_MPI ON ) + set(VTK_Group_MPI ON) else() - set(VTK_WITH_MPI OFF ) + set(VTK_Group_MPI OFF) endif() if ("python" IN_LIST FEATURES) @@ -28,15 +28,9 @@ else() endif() if("openvr" IN_LIST FEATURES) - set(VTK_WITH_OPENVR ON) + set(Module_vtkRenderingOpenVR ON) else() - set(VTK_WITH_OPENVR OFF) -endif() - -if("libharu" IN_LIST FEATURES) - set(VTK_WITH_LIBHARU ON) -else() - set(VTK_WITH_LIBHARU OFF) + set(Module_vtkRenderingOpenVR OFF) endif() set(VTK_WITH_ALL_MODULES OFF) # IMPORTANT: if ON make sure `qt5`, `mpi`, `python3`, `ffmpeg`, `gdal`, `fontconfig`, @@ -46,14 +40,16 @@ set(VTK_WITH_ALL_MODULES OFF) # IMPORTANT: if ON make sure `qt5` # Clone & patch vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO "Kitware/VTK" + REPO Kitware/VTK REF "v${VTK_LONG_VERSION}" SHA512 fd1d9c2872baa6eca7f8105b0057b56ec554e9d5eaf25985302e7fc032bdce72255d79e3f5f16ca50504151bda49cb3a148272ba32e0f410b4bdb70959b8f3f4 - HEAD_REF "master" + HEAD_REF master PATCHES fix-find-lz4.patch fix_ogg_linkage.patch + fix-pugixml-link.patch ) + # Remove the FindGLEW.cmake and FindPythonLibs.cmake that are distributed with VTK, # since they do not detect the debug libraries correctly. # The default files distributed with CMake (>= 3.9) should be superior by all means. @@ -73,12 +69,6 @@ if(VTK_WITH_QT) ) endif() -if(VTK_WITH_MPI) - list(APPEND ADDITIONAL_OPTIONS - -DVTK_Group_MPI=ON - ) -endif() - if(VTK_WITH_PYTHON) list(APPEND ADDITIONAL_OPTIONS -DVTK_WRAP_PYTHON=ON @@ -86,18 +76,6 @@ if(VTK_WITH_PYTHON) ) endif() -if(VTK_WITH_OPENVR) - list(APPEND ADDITIONAL_OPTIONS - -DModule_vtkRenderingOpenVR=ON - ) -endif() - -if(VTK_WITH_LIBHARU) - list(APPEND ADDITIONAL_OPTIONS - -DVTK_USE_SYSTEM_LIBHARU=ON - ) -endif() - if(VTK_WITH_ALL_MODULES) list(APPEND ADDITIONAL_OPTIONS -DVTK_BUILD_ALL_MODULES=ON @@ -123,44 +101,31 @@ endif() # ============================================================================= # Configure & Install -if(${VCPKG_LIBRARY_LINKAGE} MATCHES "static") - set(HDF5_USE_STATIC_LIBRARIES ON) -endif() vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DHDF5_USE_STATIC_LIBRARIES=${HDF5_USE_STATIC_LIBRARIES} - -DHAVE_SNPRINTF=ON - -DVTK_Group_Imaging=ON - -DVTK_Group_Views=ON -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF - -DVTK_USE_SYSTEM_EXPAT=ON - -DVTK_USE_SYSTEM_FREETYPE=ON - # -DVTK_USE_SYSTEM_GL2PS=ON - -DVTK_USE_SYSTEM_JPEG=ON - -DVTK_USE_SYSTEM_GLEW=ON - -DVTK_USE_SYSTEM_HDF5=ON - -DVTK_USE_SYSTEM_JSONCPP=ON - -DVTK_USE_SYSTEM_LIBPROJ=ON - -DVTK_USE_SYSTEM_LIBXML2=ON - -DVTK_USE_SYSTEM_LZ4=ON - # -DVTK_USE_SYSTEM_NETCDF=ON - # -DVTK_USE_SYSTEM_NETCDFCPP=ON - -DVTK_USE_SYSTEM_OGG=ON - -DVTK_USE_SYSTEM_THEORA=ON - -DVTK_USE_SYSTEM_PNG=ON - -DVTK_USE_SYSTEM_TIFF=ON - -DVTK_USE_SYSTEM_ZLIB=ON -DVTK_INSTALL_INCLUDE_DIR=include -DVTK_INSTALL_DATA_DIR=share/vtk/data -DVTK_INSTALL_DOC_DIR=share/vtk/doc -DVTK_INSTALL_PACKAGE_DIR=share/vtk -DVTK_INSTALL_RUNTIME_DIR=bin -DVTK_FORBID_DOWNLOADS=ON + + # We set all libraries to "system" and explicitly list the ones that should use embedded copies + -DVTK_USE_SYSTEM_LIBRARIES=ON + -DVTK_USE_SYSTEM_GL2PS=OFF + + # Select modules / groups to install + -DVTK_Group_Imaging=ON + -DVTK_Group_Views=ON -DModule_vtkGUISupportMFC=${Module_vtkGUISupportMFC} + -DModule_vtkRenderingOpenVR=${Module_vtkRenderingOpenVR} + -DVTK_Group_MPI=${VTK_Group_MPI} + ${ADDITIONAL_OPTIONS} ) @@ -286,7 +251,7 @@ if(VTK_WITH_ALL_MODULES) file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/XdmfConfig.cmake) endif() -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) endif() diff --git a/scripts/buildsystems/vcpkg.cmake b/scripts/buildsystems/vcpkg.cmake index b8037f466..b2a589421 100644 --- a/scripts/buildsystems/vcpkg.cmake +++ b/scripts/buildsystems/vcpkg.cmake @@ -192,6 +192,7 @@ macro(find_package name) set(Boost_USE_STATIC_LIBS OFF) set(Boost_USE_MULTITHREADED ON) unset(Boost_USE_STATIC_RUNTIME) + set(Boost_NO_BOOST_CMAKE ON) unset(Boost_USE_STATIC_RUNTIME CACHE) set(Boost_COMPILER "-vc140") _find_package(${ARGV}) diff --git a/scripts/cmake/vcpkg_build_cmake.cmake b/scripts/cmake/vcpkg_build_cmake.cmake index 2f0da07f9..e86632c7e 100644 --- a/scripts/cmake/vcpkg_build_cmake.cmake +++ b/scripts/cmake/vcpkg_build_cmake.cmake @@ -162,6 +162,33 @@ function(vcpkg_build_cmake) endif() endwhile() endif() + elseif(out_contents MATCHES "mt : general error c101008d: ") + # Antivirus workaround - occasionally files are locked and cause mt.exe to fail + set(ITERATION 0) + while (ITERATION LESS 3 AND out_contents MATCHES "mt : general error c101008d: ") + MATH(EXPR ITERATION "${ITERATION}+1") + message(STATUS "Restarting Build ${TARGET_TRIPLET}-${SHORT_BUILDTYPE} because of mt.exe file locking issue. Iteration: ${ITERATION}") + execute_process( + COMMAND ${CMAKE_COMMAND} --build . --config ${CONFIG} ${TARGET_PARAM} -- ${BUILD_ARGS} + OUTPUT_FILE "${LOGPREFIX}-out-${ITERATION}.log" + ERROR_FILE "${LOGPREFIX}-err-${ITERATION}.log" + RESULT_VARIABLE error_code + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${SHORT_BUILDTYPE}) + + if(error_code) + file(READ "${LOGPREFIX}-out-${ITERATION}.log" out_contents) + file(READ "${LOGPREFIX}-err-${ITERATION}.log" err_contents) + + if(out_contents) + list(APPEND LOGS "${LOGPREFIX}-out-${ITERATION}.log") + endif() + if(err_contents) + list(APPEND LOGS "${LOGPREFIX}-err-${ITERATION}.log") + endif() + else() + break() + endif() + endwhile() endif() if(error_code) @@ -170,7 +197,7 @@ function(vcpkg_build_cmake) file(TO_NATIVE_PATH "${LOG}" NATIVE_LOG) list(APPEND STRINGIFIED_LOGS " ${NATIVE_LOG}\n") endforeach() - set(_eb_COMMAND ${CMAKE_COMMAND} --build . --config ${CONFIG} ${TARGET_PARAM} -- ${BUILD_ARGS} ${NO_PARALLEL_ARG}) + set(_eb_COMMAND ${CMAKE_COMMAND} --build . --config ${CONFIG} ${TARGET_PARAM} -- ${BUILD_ARGS} ${PARALLEL_ARG}) set(_eb_WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${SHORT_BUILDTYPE}) message(FATAL_ERROR " Command failed: ${_eb_COMMAND}\n" |
