Skip to content

Commit 8663a6a

Browse files
ednolanclaude
andcommitted
Expose BEMAN_ITERATOR_INTERFACE_USE_DEDUCING_THIS as a vcpkg feature
Add a use-deducing-this feature to the port manifest (as a default feature) and translate it via vcpkg_check_features into the CMake option, so consumers can install beman-iterator-interface[use-deducing-this] or disable it with beman-iterator-interface[core] to opt out. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 473a940 commit 8663a6a

6 files changed

Lines changed: 27 additions & 9 deletions

File tree

.github/workflows/ci_tests.yml

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ on:
1313

1414
jobs:
1515
beman-submodule-check:
16-
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-submodule-check.yml@1.6.1
16+
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-submodule-check.yml@1.7.0
1717

1818
preset-test:
19-
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-preset-test.yml@1.6.1
19+
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-preset-test.yml@1.7.0
2020
with:
2121
matrix_config: >
2222
[
@@ -27,7 +27,7 @@ jobs:
2727
]
2828
2929
build-and-test:
30-
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-build-and-test.yml@1.6.1
30+
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-build-and-test.yml@1.7.0
3131
with:
3232
matrix_config: >
3333
{
@@ -119,12 +119,17 @@ jobs:
119119
}
120120
121121
vcpkg-ci:
122-
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-vcpkg-ci.yml@1.6.1
122+
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-vcpkg-ci.yml@1.7.0
123123
with:
124124
port_name: beman-iterator-interface
125125
container_image: ghcr.io/bemanproject/infra-containers-gcc:14
126+
feature_combinations: |
127+
[
128+
{"features": {}},
129+
{"features": {"use-deducing-this": false}}
130+
]
126131
127132
create-issue-when-fault:
128133
needs: [preset-test, build-and-test]
129134
if: failure() && github.event_name == 'schedule'
130-
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-create-issue-when-fault.yml@1.6.1
135+
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-create-issue-when-fault.yml@1.7.0

.github/workflows/pre-commit-check.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,4 @@ permissions:
1616

1717
jobs:
1818
pre-commit:
19-
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-pre-commit.yml@1.6.1
19+
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-pre-commit.yml@1.7.0

.github/workflows/pre-commit-update.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ on:
99

1010
jobs:
1111
auto-update-pre-commit:
12-
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-update-pre-commit.yml@1.6.1
12+
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-update-pre-commit.yml@1.7.0
1313
secrets:
1414
APP_ID: ${{ secrets.AUTO_PR_BOT_APP_ID }}
1515
PRIVATE_KEY: ${{ secrets.AUTO_PR_BOT_PRIVATE_KEY }}

.github/workflows/vcpkg-release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66
types: [published]
77
jobs:
88
vcpkg-release:
9-
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-vcpkg-release.yml@1.6.1
9+
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-vcpkg-release.yml@1.7.0
1010
with:
1111
port_name: beman-iterator-interface
1212
secrets:

port/portfile.cmake.in

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,16 @@ vcpkg_from_github(
66
HEAD_REF main
77
)
88

9+
vcpkg_check_features(
10+
OUT_FEATURE_OPTIONS FEATURE_OPTIONS
11+
FEATURES
12+
use-deducing-this BEMAN_ITERATOR_INTERFACE_USE_DEDUCING_THIS
13+
)
14+
915
vcpkg_cmake_configure(
1016
SOURCE_PATH "${SOURCE_PATH}"
1117
OPTIONS
18+
${FEATURE_OPTIONS}
1219
-DBEMAN_ITERATOR_INTERFACE_BUILD_TESTS=OFF
1320
-DBEMAN_ITERATOR_INTERFACE_BUILD_EXAMPLES=OFF
1421
)

port/vcpkg.json.in

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,11 @@
1313
"name": "vcpkg-cmake-config",
1414
"host": true
1515
}
16-
]
16+
],
17+
"default-features": ["use-deducing-this"],
18+
"features": {
19+
"use-deducing-this": {
20+
"description": "Use deducing this for CRTP-free interface (BEMAN_ITERATOR_INTERFACE_USE_DEDUCING_THIS=ON)"
21+
}
22+
}
1723
}

0 commit comments

Comments
 (0)