Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .exemplar_version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
ab5c7c0cbf1f67eb43b7be9c2d18acd4d6de1ea4
0131279454a8b54a6038203a7b714e2e0a835039
14 changes: 10 additions & 4 deletions .github/workflows/ci_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ on:

jobs:
beman-submodule-check:
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-submodule-check.yml@1.5.3
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-submodule-check.yml@1.6.1

preset-test:
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-preset-test.yml@1.5.3
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-preset-test.yml@1.6.1
with:
matrix_config: >
[
Expand All @@ -27,7 +27,7 @@ jobs:
]

build-and-test:
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-build-and-test.yml@1.5.3
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-build-and-test.yml@1.6.1
with:
matrix_config: >
{
Expand Down Expand Up @@ -118,7 +118,13 @@ jobs:
]
}

vcpkg-ci:
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-vcpkg-ci.yml@1.6.1
with:
port_name: beman-iterator-interface
container_image: ghcr.io/bemanproject/infra-containers-gcc:14

create-issue-when-fault:
needs: [preset-test, build-and-test]
if: failure() && github.event_name == 'schedule'
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-create-issue-when-fault.yml@1.5.3
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-create-issue-when-fault.yml@1.6.1
2 changes: 1 addition & 1 deletion .github/workflows/pre-commit-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,4 @@ permissions:

jobs:
pre-commit:
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-pre-commit.yml@1.5.3
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-pre-commit.yml@1.6.1
2 changes: 1 addition & 1 deletion .github/workflows/pre-commit-update.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:

jobs:
auto-update-pre-commit:
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-update-pre-commit.yml@1.5.3
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-update-pre-commit.yml@1.6.1
secrets:
APP_ID: ${{ secrets.AUTO_PR_BOT_APP_ID }}
PRIVATE_KEY: ${{ secrets.AUTO_PR_BOT_PRIVATE_KEY }}
13 changes: 13 additions & 0 deletions .github/workflows/vcpkg-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

name: vcpkg registry release
on:
release:
types: [published]
jobs:
vcpkg-release:
uses: bemanproject/infra-workflows/.github/workflows/reusable-beman-vcpkg-release.yml@1.6.1
with:
port_name: beman-iterator-interface
secrets:
VCPKG_REGISTRY_TOKEN: ${{ secrets.VCPKG_REGISTRY_TOKEN }}
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,9 @@

# ignore vscode settings
.vscode

# ignore vim swap files
.swp

# ignore merge/patch backup files
.orig
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -45,4 +45,4 @@ repos:
hooks:
- id: beman-tidy

exclude: 'cookiecutter/|infra/'
exclude: 'cookiecutter/|infra/|port/'
3 changes: 1 addition & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@
cmake_minimum_required(VERSION 3.30...4.3)

project(
beman.iterator_interface # CMake Project Name, which is also the name of the top-level
# targets (e.g., library, executable, etc.).
beman.iterator_interface
DESCRIPTION "iterator creation mechanisms"
LANGUAGES CXX
VERSION 0.1.0
Expand Down
24 changes: 24 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,30 @@ ctest --test-dir build

## Dependency Management

### vcpkg

The best way to install the project's dependencies is to use the vcpkg workflow.

To do so, make sure vcpkg is installed and `VCPKG_ROOT` is defined in your environment,
then specify
`-DCMAKE_TOOLCHAIN_FILE="$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake"`. Vcpkg will handle
the project's dependencies, including GoogleTest.

Example commands:

```
cmake \
-B build \
-S . \
-DCMAKE_CXX_STANDARD=20 \
-DCMAKE_TOOLCHAIN_FILE="$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake"
cmake --build build
ctest --test-dir build
```

The file `./vcpkg.json` configures the list of dependencies that will be configured by
vcpkg.

### FetchContent

Instead of installing the project's dependencies via a package manager, you can optionally
Expand Down
11 changes: 11 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,17 @@ For details on building beman.iterator_interface without using a CMake preset, r

### Installation

#### Vcpkg

The preferred way to install iterator_interface is via vcpkg. To do so, after installing vcpkg
itself, you need to add support for the Beman project's [vcpkg
registry](https://github.com/bemanproject/vcpkg-registry) by configuring a
`vcpkg-configuration.json` file (which iterator_interface [provides](vcpkg-configuration.json)).

Then, simply run `vcpkg install beman-iterator-interface`.

#### Manual

To install beman.iterator_interface globally after building with the `gcc-release` preset, you can
run:

Expand Down
2 changes: 1 addition & 1 deletion infra/.beman_submodule
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[beman_submodule]
remote=https://github.com/bemanproject/infra.git
commit_hash=ea3ef79f77fdcc378149ebc7406e81e9ceb04146
commit_hash=1b14bad2cd2cf0e44d1aeb608557e0e35ce27eaa
4 changes: 2 additions & 2 deletions infra/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ This repository is intended to be used as a beman-submodule in other Beman repos
#### `beman_install_library`

The CMake modules in this repository are intended to be used by Beman libraries. Use the
`beman_add_install_library_config()` function to install your library, along with header
`beman_install_library()` function to install your library, along with header
files, any metadata files, and a CMake config file for `find_package()` support.

```cmake
Expand All @@ -31,7 +31,7 @@ add_library(beman::something ALIAS beman.something)

# ... configure your target as needed ...

find_package(beman-install-library REQUIRED)
include(infra/cmake/beman-install-library.cmake)
beman_install_library(beman.something)
```

Expand Down
2 changes: 1 addition & 1 deletion infra/cmake/llvm-libc++-toolchain.cmake
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# SPDX-License-Identifier: BSL-1.0
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

# This toolchain file is not meant to be used directly,
# but to be invoked by CMake preset and GitHub CI.
Expand Down
2 changes: 1 addition & 1 deletion infra/cmake/telemetry.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ _ME="$(basename "${0}")"
_print_help() {
cat <<HEREDOC
Callback script to process CMake Insrumentation data
Callback script to process CMake Instrumentation data
https://cmake.org/cmake/help/latest/command/cmake_instrumentation.html
Usage:
Expand Down
Loading