99 lines
3.7 KiB
CMake
99 lines
3.7 KiB
CMake
vcpkg_from_github(
|
|
OUT_SOURCE_PATH SOURCE_PATH
|
|
REPO duckdb/duckdb
|
|
REF v${VERSION}
|
|
SHA512 7e2ec4f6d6be6d500b148bd845cc51fe8985190eed8ab6f6fe79012c216cad5592ab3329e2df6b091abcc6ea8937d66f47272baead798c7d711e5d73aa9ffaa7
|
|
HEAD_REF main
|
|
PATCHES
|
|
bigobj.patch
|
|
unvendor_icu_and_find_dependency.patch # https://github.com/duckdb/duckdb/pull/16176 + https://github.com/duckdb/duckdb/pull/16197
|
|
extensions.patch
|
|
t-external-icu.patch # from https://github.com/duckdb/duckdb/pull/16676
|
|
)
|
|
|
|
# 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 f14e7c3beaf379c54b47b996aa896a1d814e1be8
|
|
SHA512 d2e97cfd59fc08d86f6e4a6fe35dc7dd6435ef1750b334d4b422555987d55eef67a9eb1b1859cacc46addd7a6f848de4e5e092d694fc4ccd7cf24fcf8298012e
|
|
HEAD_REF main
|
|
PATCHES
|
|
excel-libname.patch
|
|
)
|
|
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 85ac4667bcb0d868199e156f8dd918b0278db7b9
|
|
SHA512 5790ed795d394dd1b512aac0d1f1dc5976588d93b34381cab1d78c256428f3047682c7b662b1c855d3b19a9dbf99a6c64f32152dba347c18f2a36e19bcc3c5df
|
|
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")
|