vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO duckdb/duckdb REF v${VERSION} SHA512 8e725d94cfd81989d4f6d206728188e5b290ce3a7f71d89adc6beed91957f965180d34d69d9099d04e35fc402b389de56184875397b29286789bd9c5655595c5 HEAD_REF main PATCHES extensions.patch ) # Remove vendored dependencies which are not properly namespaced file(REMOVE_RECURSE "${SOURCE_PATH}/third_party/catch" "${SOURCE_PATH}/third_party/imdb" "${SOURCE_PATH}/third_party/snowball" "${SOURCE_PATH}/third_party/tpce-tool" ) if("excel" IN_LIST FEATURES) vcpkg_from_github( OUT_SOURCE_PATH DUCKDB_EXCCEL_SOURCE_PATH REPO duckdb/duckdb-excel REF 6c7a0270608d18053d23359834b775d40804a052 SHA512 442b4dc9405f34a9b624e5c4e874ebf2cffd1f5c477257b090613f987d83fcc02bc2293b8d163fffe018aa250e90bcadc9ac345e84dc4c96f4092c19c769f924 HEAD_REF main ) file(RENAME "${DUCKDB_EXCCEL_SOURCE_PATH}" "${SOURCE_PATH}/extension/excel") endif() if("httpfs" IN_LIST FEATURES) vcpkg_from_github( OUT_SOURCE_PATH DUCKDB_HTTPFS_SOURCE_PATH REPO duckdb/duckdb_httpfs REF a4a014d4fc232c3087ee44a804959b5d67a0f8c5 SHA512 7e774a0714b863ecd49ad6ff07b8ecf780614f8e81d097dc01def37b48efb140efba003a5caa2deec9c83c636906fbcb44f5d74813da31f162d9d8b06016afe8 HEAD_REF main ) file(RENAME "${DUCKDB_HTTPFS_SOURCE_PATH}" "${SOURCE_PATH}/extension/httpfs") endif() string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" DUCKDB_BUILD_STATIC) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" DUCKDB_BUILD_DYNAMIC) set(EXTENSION_LIST "autocomplete;excel;httpfs;icu;json;tpcds;tpch") set(BUILD_EXTENSIONS "") foreach(EXT ${EXTENSION_LIST}) if(${EXT} IN_LIST FEATURES) list(APPEND BUILD_EXTENSIONS ${EXT}) endif() endforeach() if(NOT "${BUILD_EXTENSIONS}" STREQUAL "") set(BUILD_EXTENSIONS_FLAG "-DBUILD_EXTENSIONS='${BUILD_EXTENSIONS}'") endif() vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} OPTIONS -DOVERRIDE_GIT_DESCRIBE=v${VERSION} -DDUCKDB_EXPLICIT_VERSION=v${VERSION} -DBUILD_UNITTESTS=OFF -DBUILD_SHELL=FALSE "${BUILD_EXTENSIONS_FLAG}" -DENABLE_EXTENSION_AUTOLOADING=1 -DENABLE_EXTENSION_AUTOINSTALL=1 -DWITH_INTERNAL_ICU=OFF -DENABLE_SANITIZER=OFF -DENABLE_THREAD_SANITIZER=OFF -DENABLE_UBSAN=OFF ) vcpkg_cmake_install() if(EXISTS "${CURRENT_PACKAGES_DIR}/CMake") vcpkg_cmake_config_fixup(CONFIG_PATH CMake) elseif(EXISTS "${CURRENT_PACKAGES_DIR}/lib/cmake/DuckDB") vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/DuckDB") elseif(EXISTS "${CURRENT_PACKAGES_DIR}/lib/cmake/${PORT}") vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") endif() 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}/include/duckdb/main/capi/header_generation" ) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/duckdb/storage/serialization") file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")