Merged
Conversation
Use an empty commit for the first commit. This makes simplifies: * Review workflows for the first files in the repo * Rebasing operations that might include the first commit
This reverts commit 6456fad.
This statement affects a project-wide setting, so it doesn't belong here. Instead we should ensure that all the individual libraries use correct cmake_minimum_required versions. See beman/exemplar commit f296dd51ba592a25c6453f19284208c2147599ce, which bumps the minimum CMake version to 3.30.
These variables were commented out and never set, but still referenced in both install(TARGETS) blocks. Without VERSION_SUFFIX, they expanded to empty strings, silently falling through to CMake defaults. Remove the dead definitions and the dangling references so the code matches its actual behavior. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The previous logic used option() to create a per-package cache variable defaulting to ON, then checked it in an if/elseif chain before the allow-list. Since option() always defined the variable, the allow-list branch was unreachable — BEMAN_INSTALL_CONFIG_FILE_PACKAGES was silently ignored. Restore the original precedence: 1. Per-package var (if user explicitly set it, wins in either direction) 2. Allow-list (if defined, packages not in it are excluded) 3. Default: ON Also removes the option() call and dead "if(NOT DEFINED)" block that obscured the logic. Users who need the per-package override can pass it directly via -D on the command line. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Versioned install destinations (e.g. include/beman-0.1.0/) are a package manager concern, not something the build system should attempt. Supporting it here creates a combinatorial explosion of configurations without solving the underlying problem. Removes the VERSION_SUFFIX option, its keyword parsing, the conditional _version_suffix/_include_install_dir logic, and all references. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This is superseded by beman-install-library.cmake.
Previously, when the library was brought in via FetchContent, users
would need to add this line:
list(APPEND CMAKE_MODULE_PATH ${Catch2_SOURCE_DIR}/extras)
This commit isolates the workaround to use-fetch-content.cmake, as
it's not needed when Catch2 is installed on the system or brought in
via another, non-FetchContent-based method.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Name option variables after module. Install based on package name rather than project name.
I have no real opinion about cmake formatting at this point other than wishing it was automated everywhere. Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Commit 752a065 renamed the BEMAN prefix to BEMAN_INSTALL in beman-install-library.cmake but did not apply the rename to Config.cmake.in, causing @BEMAN_FIND_DEPENDENCIES@ to expand to an empty string and silently dropping all dependency declarations. Fixes #43 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add tools for configuring and using the cmake_instrumentation available as an experimental feature in CMake 4.2. https://cmake.org/cmake/help/latest/command/cmake_instrumentation.html This module sets the CMAKE_EXPERIMENTAL_INSTRUMENTATION gate with the GUID for CMake 4.2. It sets a single callback script and processes all current HOOKs copying the Google Trace format json files to a known location for further processing.
lint Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
lint Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
reformat Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Improve the diagnostic messages for different versions of CMake. Remove the min required call.
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Previously, if a user was running a build on a version of CMake less than 4.3, they would get this message: -- Configuring Build Telemetry CMake Warning at infra/cmake/BuildTelemetryConfig.cmake:11 (message): CMake version is less than 4.3, configuring cmake_instrumentation is unavailable. Call Stack (most recent call first): CMakeLists.txt:47 (configure_build_telemetry) Furthermore, if they were running with CMake 4.3, they would get this message: -- Configuring Build Telemetry CMake Warning at infra/cmake/BuildTelemetryConfig.cmake:27 (message): using callback script /home/eddie/sync/cpp/bemanproject/exemplar/infra/cmake/telemetry.sh Call Stack (most recent call first): CMakeLists.txt:47 (configure_build_telemetry) Both of these are warnings, which is the wrong mode here because in neither case is there any real sense in which the user has done something wrong. This commit adjusts these messages so that "Configuring Build Telemetry" only prints if the version is at least 4.3, the "configuring cmake_instrumentation is unavailable" message is a STATUS message rather than a WARNING, and the "using callback script" message is a DEBUG message.
Adjust CMake messages for build telemetry
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.