Skip to content

VS: INSTALL( ... CXX_MODULES_BMI ) not copying .ifc files when generator is Visual Studio

I appreciate this feature is still experimental and gated by CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API, and that currently there are no mechanisms to consume the bmi files and there may not be in the future.

However, in case it is relevant and this is expected to work:

For the following:

add_library(foo)
target_sources(foo
PUBLIC
    FILE_SET cxx_modules TYPE CXX_MODULES FILES
    foo.cxx
)

install(TARGETS foo
        ...
        CXX_MODULES_BMI DESTINATION "${CMAKE_INSTALL_LIBDIR}/lib/cxx/bmi"
  )

When using msvc on Windows, the foo.ifc file is installed when the generator is Ninja, but not when the generator is "Visual Studio".

As far as I can see, when the generator is Visual Studio the actual file that is generated is foo.cxx.ifc, rather than foo.ifc, I suspect this may have something to do with it.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information