# How to control the location of the c++20 Binary Module Interface (BMI) output directory?

**URL:** <https://discourse.cmake.org/t/how-to-control-the-location-of-the-c-20-binary-module-interface-bmi-output-directory/7968>\
**Category:** Usage\
**Created:** [April 24, 2023, 3:49pm UTC](https://discourse.cmake.org/t/how-to-control-the-location-of-the-c-20-binary-module-interface-bmi-output-directory/7968 "2023-04-24T15:49:46Z")\
**Posts on this page:** 1\
**Showing post:** 4

<div class="post-metadata">

**Author:** ![ben.boeckel](https://discourse.cmake.org/letter_avatar_proxy/v4/letter/b/ea5d25/32.png) [@ben.boeckel](https://discourse.cmake.org/u/ben.boeckel)\
**Post date:** [April 24, 2023, 5:07pm UTC](https://discourse.cmake.org/t/how-to-control-the-location-of-the-c-20-binary-module-interface-bmi-output-directory/7968/4 "2023-04-24T17:07:04Z")

</div>

> [@ClausKlein](#):
>
> ` # FIXME: This does not work, clang-tidy is a pre, not a post compile step! CK`

This has not been worked on; `clang-tidy` may need to learn how to read the modmap file `clang` will use (though it should exist by the time we’re compiling…

The fact that it doesn’t work with `compile_commands.json` when the `@modmap` arguments are there tells me that `clang-tidy` is ignoring something…

> [@ClausKlein](#):
>
> And the most important question is where to install the BMI file?

Certainly not `share` as they are arch-dependent. I suspect where they go will be a Linux distro discussion in the FHS umbrella, Apple will just decree for itself, and Microsoft will do Windows things. ISO C++'s SG15 is also likely to discuss such things.

---

_[View the full topic](https://discourse.cmake.org/t/how-to-control-the-location-of-the-c-20-binary-module-interface-bmi-output-directory/7968)._
