Skip to content

Building DuckDB extensions on Windows? #123

@fdcastel

Description

@fdcastel

I'm currently developing a new extension for DuckDB, and while everything builds smoothly on Linux, I'm running into issues getting it to compile on Windows.

Linux

On Linux, after following the README instructions, I can easily build the extension from the project root using:

# from project root folder
make

The build completes successfully, the tests run, and the compiled extension is located at: ./build/release/extension/<extension_name>/<extension_name>.duckdb_extension.

Perfect!

Windows

However, things are more complicated on Windows, since make isn't available and we need to use cmake instead.

For the DuckDB core itself, the Windows build documentation is thorough. With some setup (including the usual vcpkg quirks), I can build DuckDB like this:

# run from ./duckdb directory
cmake `
    -DCMAKE_BUILD_TYPE=Release `
    -DCMAKE_GENERATOR_PLATFORM=x64 `
    -DENABLE_EXTENSION_AUTOLOADING=1 `
    -DENABLE_EXTENSION_AUTOINSTALL=1 `
    -DDUCKDB_EXTENSION_CONFIGS="${GITHUB_WORKSPACE}/.github/config/bundled_extensions.cmake" `
    -DDISABLE_UNITY=1 `
    -DOVERRIDE_GIT_DESCRIBE="$OVERRIDE_GIT_DESCRIBE"
cmake --build . --config Release --parallel

The problem is, I can't find any clear instructions on how to build or test a DuckDB extension on Windows.

Any guidance would be much appreciated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions