# Why not review and merge the refactored beman-install-module.cmake?

**URL:** <https://discourse.bemanproject.org/t/why-not-review-and-merge-the-refactored-beman-install-module-cmake/563>\
**Category:** Beman Libraries\
**Tags:** cmake\
**Created:** [March 3, 2026, 8:09am UTC](https://discourse.bemanproject.org/t/why-not-review-and-merge-the-refactored-beman-install-module-cmake/563 "2026-03-03T08:09:58Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![ClausKlein](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.bemanproject.org/clausklein/32/136_2.png) [@ClausKlein](https://discourse.bemanproject.org/u/ClausKlein)\
**Post date:** [March 3, 2026, 8:09am UTC](https://discourse.bemanproject.org/t/why-not-review-and-merge-the-refactored-beman-install-module-cmake/563/1 "2026-03-03T08:09:58Z")

</div>

> <https://github.com/bemanproject/infra/pull/25>
>
> beman\_install\_library
> =====================
> 
> Installs a library (or set of ta…rgets) along with headers, C++ modules,
> and optional CMake package configuration files.
> 
> Usage:
> \------
> 
> \`\`\`
> beman\_install\_library(\<name\>
> TARGETS \<target1\> \[\<target2\> ...\]
> \[DEPENDENCIES \<dependency1\> \[\<dependency2\> ...\]\]
> \[NAMESPACE \<namespace\>\]
> \[EXPORT\_NAME \<export-name\>\]
> \[DESTINATION \<install-prefix\>\]
> \[VERSION\_SUFFIX\]
> )
> \`\`\`
> 
> Arguments:
> \----------
> 
> name
> Logical package name (e.g. "beman.utility").
> Used to derive config file names and cache variable prefixes.
> 
> TARGETS (required)
> List of CMake targets to install.
> 
> DEPENDENCIES (optional)
> Semicolon-separated list, one dependency per entry.
> Each entry is a valid find\_dependency() argument list.
> Note: you must use the bracket form for quoting if not only a package name is used!
> \`\`\`
> "\[===\[beman.inplace\_vector 1.0.0\]===\] \[===\[beman.scope 0.0.1 EXACT\]===\] fmt"
> \`\`\`
> 
> NAMESPACE (optional)
> Namespace for exported targets.
> Defaults to "beman::".
> 
> EXPORT\_NAME (optional)
> Name of the CMake export set.
> Defaults to "\<name\>-targets".
> 
> DESTINATION (optional)
> The install destination for CXX\_MODULES.
> Defaults to ${CMAKE\_INSTALL\_LIBDIR}/cmake/${name}/modules.
> 
> VERSION\_SUFFIX (optional)
> option to enable the versioning of install destinations
> 
> Brief
> \-----
> 
> This function installs the specified project TARGETS and its FILE\_SET
> HEADERS to the default CMAKE install destination.
> 
> It also handles the installation of the CMake config package files if
> needed. If the given targets has FILE\_SET CXX\_MODULE, it will also
> installed to the given DESTINATION
> 
> Cache variables:
> \----------------
> 
> BEMAN\_INSTALL\_CONFIG\_FILE\_PACKAGES
> List of package names for which config files should be installed.
> 
> \<PREFIX\>\_INSTALL\_CONFIG\_FILE\_PACKAGE
> Per-package override to enable/disable config file installation.
> \<PREFIX\> is the uppercased package name with dots replaced by underscores.
> 
> Caveats
> \-------
> 
> \*\*Only one \`FILE\_SET CXX\_MODULES\` is yet supported to install with this
> function!\*\*
> 
> \*\*Only header files contained in a \`PUBLIC FILE\_SET TYPE HEADERS\` will be
> install with this function!\*\*

We need this to start working and installing of Beman libraries as a `CXX_MODULE`

---

<div class="post-metadata">

**Author:** ![ednolan](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.bemanproject.org/ednolan/32/131_2.png) [@ednolan](https://discourse.bemanproject.org/u/ednolan)\
**Post date:** [March 3, 2026, 4:28pm UTC](https://discourse.bemanproject.org/t/why-not-review-and-merge-the-refactored-beman-install-module-cmake/563/2 "2026-03-03T16:28:56Z")

</div>

I plan on doing this this weekend.

---

<div class="post-metadata">

**Author:** ![ClausKlein](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.bemanproject.org/clausklein/32/136_2.png) [@ClausKlein](https://discourse.bemanproject.org/u/ClausKlein)\
**Post date:** [March 9, 2026, 10:23am UTC](https://discourse.bemanproject.org/t/why-not-review-and-merge-the-refactored-beman-install-module-cmake/563/3 "2026-03-09T10:23:39Z")

</div>

But you only started a series of merge request against my PR?

I open many issues in beman projects, most without any reactions.

I opened many PR and beman projects, most ended in weeks waiting to review, and if reviewed, they mostly ended in endless discussions until I closed them.

And in the beman discussion forum, also there is a response is not common since weeks?

That is why I am out of patience.

---

<div class="post-metadata">

**Author:** ![dsankel](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.bemanproject.org/dsankel/32/5_2.png) [@dsankel](https://discourse.bemanproject.org/u/dsankel)\
**Post date:** [March 13, 2026, 3:38pm UTC](https://discourse.bemanproject.org/t/why-not-review-and-merge-the-refactored-beman-install-module-cmake/563/4 "2026-03-13T15:38:12Z")

</div>

@ClausKlein I’m sorry to say it, but the quality of your PRs and issues are quite lacking. In many cases they are doing too many things at once and in others there is very little communication of intent. In the PR you mentioned above, for example, you didn’t replace the existing function like we had agreed upon in the modules sync up.

Keep in mind that folks here are volunteers and that you are not owed PR reviews or responses. I know this can be frustrating and I do appreciate your contributions, but we need to be respectful of other people’s time.

---

<div class="post-metadata">

**Author:** ![ednolan](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.bemanproject.org/ednolan/32/131_2.png) [@ednolan](https://discourse.bemanproject.org/u/ednolan)\
**Post date:** [March 15, 2026, 8:34pm UTC](https://discourse.bemanproject.org/t/why-not-review-and-merge-the-refactored-beman-install-module-cmake/563/5 "2026-03-15T20:34:05Z")

</div>

This has been merged.
