Skip to content

Address header-only repositories #175

Description

@ednolan

Currently beman.exemplar is morally header-only but still builds a static library. We need a separate exemplar repository for header-only libraries, or make beman.exemplar header-only and have a separate exemplar for static libraries. We need to decide on what our CMake will look like for header-only Beman libraries.

Activity

  1. ednolan commented on Oct 7, 2025

    @ednolan
    MemberAuthor

    Created a WIP commit to address this: bemanproject/exemplar#262

    Remaining TODOs on that commit:

    • Update cookiecutter so that users can optionally configure the repository to create a src directory/static library/etc
    • Update CI so it doesn't run a shared library build on the header only configuration
    • Update the README to reflect an accurate install tree
    • Get feedback from @nickelpro about where to put the beman.examplar-config.cmake.in file (see https://discourse.bemanproject.org/t/converting-exemplar-to-a-cmake-interface-type-library/527/2?u=ednolan)
    • Add a CI test that generates the static-library-based version of exemplar and runs a smoke test to ensure that it builds
  2. ClausKlein commented on Jan 16, 2026

    @ClausKlein

    @ednolan I know, it is late, but what if we need support for a CXX_MODULES too?

    see https://discourse.cmake.org/t/linker-error-with-cxx-modules/15449?u=clausklein

  3. JeffGarland commented on Jan 18, 2026

    @JeffGarland
    Member

    @ClausKlein I think we should do modules as a separate PR -- especially since this is closed.

    I wonder if it's time to entertain an update to https://github.com/bemanproject/beman/blob/main/docs/beman_standard.md for modules support?

  4. ClausKlein commented on Jan 18, 2026

    @ClausKlein
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions