Skip to content

Add vcpkg and Conan packaging; bump version to 0.1.1 - #404

Merged
mborland merged 2 commits into
mainfrom
vcpkg-conan-packaging
Oct 8, 2026
Merged

mborland merged 2 commits into
mainfrom
vcpkg-conan-packaging

Conversation

@mborland

@mborland mborland commented Oct 8, 2026

Copy link
Copy Markdown
Member

Fetch GoogleTest only when BEMAN_BIG_INT_BUILD_TESTS is on and keep it out of the install, so a package build needs no network access (vcpkg builds with FETCHCONTENT_FULLY_DISCONNECTED) and installs only beman.big_int.

vcpkg: port templates under port/ (beman-big-int, static library, features modules and simd-mul), a developer vcpkg.json and vcpkg-configuration.json, a release workflow that publishes the port to the Beman vcpkg registry, and a vcpkg-ci job using the Beman reusable workflow.

Conan: a Conan 2 recipe (conanfile.py, option simd_mul) with a test_package, and a CI job running conan create on Linux, macOS and Windows.

Document both under "Package managers" in Build and Usage.

Fetch GoogleTest only when BEMAN_BIG_INT_BUILD_TESTS is on and keep it out
of the install, so a package build needs no network access (vcpkg builds
with FETCHCONTENT_FULLY_DISCONNECTED) and installs only beman.big_int.

vcpkg: port templates under port/ (beman-big-int, static library, features
modules and simd-mul), a developer vcpkg.json and vcpkg-configuration.json,
a release workflow that publishes the port to the Beman vcpkg registry, and
a vcpkg-ci job using the Beman reusable workflow.

Conan: a Conan 2 recipe (conanfile.py, option simd_mul) with a
test_package, and a CI job running conan create on Linux, macOS and Windows.

Document both under "Package managers" in Build and Usage.
@mborland mborland added the beman-conformance Project conformance with the Beman standard label Oct 8, 2026
@mborland
mborland requested a review from eisenwave as a code owner October 8, 2026 15:36
@mborland mborland self-assigned this Oct 8, 2026
This was linked to issues Oct 8, 2026
@ednolan

ednolan commented Oct 8, 2026

Copy link
Copy Markdown
Member

Can't comment on the Conan stuff but the vcpkg stuff looks good to me.

This commit doesn't address the "std-big-int uses FetchContent for its dependencies" item from my Discord message, though; that's fine if you plan to address it in a separate pull request.

@mborland

mborland commented Oct 8, 2026

Copy link
Copy Markdown
Member Author

Can't comment on the Conan stuff but the vcpkg stuff looks good to me.

This commit doesn't address the "std-big-int uses FetchContent for its dependencies" item from my Discord message, though; that's fine if you plan to address it in a separate pull request.

I'll fix that now

@ednolan

ednolan commented Oct 8, 2026

Copy link
Copy Markdown
Member

I'll fix that now

Thanks! The new commit looks good.

@mborland
mborland merged commit f89802e into main Oct 8, 2026
83 of 84 checks passed
@mborland
mborland deleted the vcpkg-conan-packaging branch October 8, 2026 17:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

beman-conformance Project conformance with the Beman standard

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Conan infrastructure Add vcpkg infrastructure

2 participants