1- cmake_minimum_required (VERSION 3.5 )
1+ cmake_minimum_required (VERSION 3.22 )
22
33# Set extension name here
44set (TARGET_NAME vortex_duckdb)
5+ set (EXTENSION_NAME ${TARGET_NAME} _extension)
6+ set (EXTENSION_SOURCES src/vortex_duckdb_extension.cpp)
7+ set (LOADABLE_EXTENSION_NAME ${TARGET_NAME} _loadable_extension)
58
6- # DuckDB's extension distribution supports vcpkg. As such, dependencies can be added in ./vcpkg.json and then
7- # used in cmake with find_package. Feel free to remove or replace with other dependencies.
8- # Note that it should also be removed from vcpkg.json to prevent needlessly installing it..
9+ # DuckDB's extension distribution supports vcpkg. As such, dependencies can be
10+ # added in ./vcpkg.json and then used in cmake with find_package. Feel free to
11+ # remove or replace with other dependencies. Note that it should also be removed
12+ # from vcpkg.json to prevent needlessly installing it..
913find_package (OpenSSL REQUIRED)
1014
11- set (EXTENSION_NAME ${TARGET_NAME} _extension)
12- set (LOADABLE_EXTENSION_NAME ${TARGET_NAME} _loadable_extension)
15+ include (FetchContent)
16+ FetchContent_Declare(
17+ Corrosion
18+ GIT_REPOSITORY https://github.com/corrosion-rs/corrosion.git
19+ GIT_TAG v0.5.1
20+ )
21+ FetchContent_MakeAvailable(Corrosion)
1322
14- project ( ${TARGET_NAME} )
15- include_directories (src/ include )
23+ # Import targets defined in a package or workspace manifest `Cargo.toml` file
24+ corrosion_import_crate(MANIFEST_PATH ${CMAKE_CURRENT_SOURCE_DIR} /../vortex-duckdb/Cargo.toml )
1625
17- set (EXTENSION_SOURCES src/vortex_duckdb_extension.cpp)
26+ project (${TARGET_NAME} _project)
27+ include_directories (src/include )
1828
1929build_static_extension(${TARGET_NAME} ${EXTENSION_SOURCES} )
2030build_loadable_extension(${TARGET_NAME} " " ${EXTENSION_SOURCES} )
2131
22- # Link OpenSSL in both the static library as the loadable extension
23- target_link_libraries (${EXTENSION_NAME} OpenSSL::SSL OpenSSL::Crypto)
24- target_link_libraries (${LOADABLE_EXTENSION_NAME} OpenSSL::SSL OpenSSL::Crypto)
32+ target_link_libraries (${EXTENSION_NAME} OpenSSL::SSL OpenSSL::Crypto vortex_duckdb-static )
33+ target_link_libraries (${LOADABLE_EXTENSION_NAME} OpenSSL::SSL OpenSSL::Crypto vortex_duckdb-shared)
2534
2635install (
2736 TARGETS ${EXTENSION_NAME}
2837 EXPORT "${DUCKDB_EXPORT_SET} "
2938 LIBRARY DESTINATION "${INSTALL_LIB_DIR} "
30- ARCHIVE DESTINATION "${INSTALL_LIB_DIR} " )
39+ ARCHIVE DESTINATION "${INSTALL_LIB_DIR} " )
0 commit comments