From 89b2e2aa7ecde9cf7e43da88b2ce6f79bd083be5 Mon Sep 17 00:00:00 2001 From: Edward Nolan Date: Fri, 1 May 2026 19:21:02 -0400 Subject: [PATCH] Exemplar updates since 2026-04-30 Removed superfluous comments around project() statement in CMakeLists.txt Added .swp and .orig to .gitignore Bumped infra/ beman-submodule to latest (project-agnostic Beman_/BEMAN_LOCKFILE names in use-fetch-content.cmake, README/typo/SPDX fixes) Annotated vcpkg example code block in CONTRIBUTING.md as shell (markdownlint fix) Added GCC 16 to CI matrix (promoted from 15) and demoted GCC 15 to the secondary tier alongside 14 --- .exemplar_version | 2 +- .github/workflows/ci_tests.yml | 4 +- .gitignore | 6 + CMakeLists.txt | 3 +- CONTRIBUTING.md | 2 +- README.md | 2 +- infra/.beman_submodule | 2 +- infra/README.md | 4 +- infra/cmake/llvm-libc++-toolchain.cmake | 2 +- infra/cmake/telemetry.sh | 2 +- infra/cmake/use-fetch-content.cmake | 215 ++++++++++-------------- 11 files changed, 110 insertions(+), 134 deletions(-) diff --git a/.exemplar_version b/.exemplar_version index af3c4f0..1fe9d8b 100644 --- a/.exemplar_version +++ b/.exemplar_version @@ -1 +1 @@ -a8a97fdec16bfd081aa1814402f13b6a20327046 +07a42c8a3ace7b889d4d98df8f9ec3a4cf74887f diff --git a/.github/workflows/ci_tests.yml b/.github/workflows/ci_tests.yml index ae7cedd..002f7e7 100644 --- a/.github/workflows/ci_tests.yml +++ b/.github/workflows/ci_tests.yml @@ -36,7 +36,7 @@ jobs: matrix_config: > { "gcc": [ - { "versions": ["15"], + { "versions": ["16"], "tests": [ { "cxxversions": ["c++26"], "tests": [ @@ -54,7 +54,7 @@ jobs: } ] }, - { "versions": ["14"], + { "versions": ["15", "14"], "tests": [ { "cxxversions": ["c++26", "c++23"], "tests": [{ "stdlibs": ["libstdc++"], "tests": ["Release.Default"]}] diff --git a/.gitignore b/.gitignore index d293e3b..d62996c 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,9 @@ # ignore vscode settings .vscode + +# ignore vim swap files +.swp + +# ignore merge/patch backup files +.orig diff --git a/CMakeLists.txt b/CMakeLists.txt index 32f73a9..9d2d559 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,8 +3,7 @@ cmake_minimum_required(VERSION 3.30...4.3) project( - beman.transform_view # CMake Project Name, which is also the name of the top-level - # targets (e.g., library, executable, etc.). + beman.transform_view DESCRIPTION "A conditionally borrowed std::ranges::transform_view" LANGUAGES CXX VERSION 0.1.0 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index aa6f345..fa27f7e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -65,7 +65,7 @@ the project's dependencies, including GoogleTest. Example commands: -``` +```shell cmake \ -B build \ -S . \ diff --git a/README.md b/README.md index 07f92ec..fe077d1 100644 --- a/README.md +++ b/README.md @@ -75,7 +75,7 @@ You can disable building tests by setting CMake option `BEMAN_TRANSFORM_VIEW_BUI | Compiler | Version | C++ Standards | Standard Library | |------------|---------|---------------|-------------------| -| GCC | 15-14 | C++26, C++23 | libstdc++ | +| GCC | 16-14 | C++26, C++23 | libstdc++ | | Clang | 22-19 | C++26, C++23 | libstdc++, libc++ | | Clang | 18 | C++23 | libstdc++ | | AppleClang | latest | C++26, C++23 | libc++ | diff --git a/infra/.beman_submodule b/infra/.beman_submodule index 033dea5..a2ad45f 100644 --- a/infra/.beman_submodule +++ b/infra/.beman_submodule @@ -1,3 +1,3 @@ [beman_submodule] remote=https://github.com/bemanproject/infra.git -commit_hash=3a49dffbffbfd1c405ce36091dfc68ad02dd6965 +commit_hash=1b14bad2cd2cf0e44d1aeb608557e0e35ce27eaa diff --git a/infra/README.md b/infra/README.md index bf9bbb0..6cb8dd6 100644 --- a/infra/README.md +++ b/infra/README.md @@ -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 @@ -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) ``` diff --git a/infra/cmake/llvm-libc++-toolchain.cmake b/infra/cmake/llvm-libc++-toolchain.cmake index 76264c6..eabf363 100644 --- a/infra/cmake/llvm-libc++-toolchain.cmake +++ b/infra/cmake/llvm-libc++-toolchain.cmake @@ -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. diff --git a/infra/cmake/telemetry.sh b/infra/cmake/telemetry.sh index 307cc94..323982e 100755 --- a/infra/cmake/telemetry.sh +++ b/infra/cmake/telemetry.sh @@ -29,7 +29,7 @@ _ME="$(basename "${0}")" _print_help() { cat <_FOUND tells CMake that `find_package` is # not needed for this package anymore - set("${BemanExemplar_pkgName}_FOUND" TRUE PARENT_SCOPE) + set("${Beman_pkgName}_FOUND" TRUE PARENT_SCOPE) endif() endif() endforeach() @@ -225,7 +196,7 @@ endfunction() set(BEMAN_USE_FETCH_CONTENT_ENABLED ON) cmake_language( - SET_DEPENDENCY_PROVIDER BemanExemplar_provideDependency + SET_DEPENDENCY_PROVIDER Beman_provideDependency SUPPORTED_METHODS FIND_PACKAGE )