Skip to content

Support static libtsfile builds - #894

Merged
ColinLeeo merged 1 commit into
apache:developfrom
ColinLeeo:feature/static-library
Aug 4, 2026
Merged

Support static libtsfile builds#894
ColinLeeo merged 1 commit into
apache:developfrom
ColinLeeo:feature/static-library

Conversation

@ColinLeeo

@ColinLeeo ColinLeeo commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Motivation

DuckDB extensions and other self-contained integrations need to link TsFile statically instead of depending on a runtime libtsfile shared library.

Previously, the C++ build always declared libtsfile as a SHARED target, so BUILD_SHARED_LIBS=OFF did not affect it.

Changes

  • Add the TSFILE_BUILD_SHARED CMake option.
    • Defaults to ON to preserve the existing behavior.
    • Set it to OFF to generate libtsfile.a or tsfile.lib.
  • Add TSFILE_STATIC handling for MSVC symbol visibility.
  • Propagate TSFILE_STATIC to consumers linking the CMake tsfile target.
  • Skip copying libtsfile.dll for Windows static builds.
  • Expose the option through Maven:
    mvn clean verify -P with-cpp -Dtsfile.build.shared=OFF

@ColinLeeo
ColinLeeo merged commit 7ca2e79 into apache:develop Aug 4, 2026
29 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant