Skip to content

Inconsistency between b2 and CMake builds regarding library type (Static vs. Header-only)#65

Description

@uilianries

Greetings! 馃憢

There appears to be an inconsistency in how the Boost.Exception library is built and packaged depending on the build system used (b2 vs. CMake). I know b2 is the official one and CMake is optional, but this difference and as b2 only provide static library makes me think about this case.

With b2: The library forces a static build. Even when passing the global link=shared property to b2 to generate shared libraries across Boost, Boost.Exception overrides this behavior in its build configuration, hardcoding it to build strictly as a static library.

With CMake: The CMakeLists.txt configures Boost.Exception entirely as a header-only (INTERFACE) library, offering no option to build a compiled/pre-built library component.

  • Is the static restriction in Jamfile.v2 intended design, or is it a legacy artifact/bug?

  • Is Boost.Exception officially supposed to be treated strictly as a header-only library going forward (as suggested by the CMake configuration)?

Regards!

Activity

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

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions