MSVC: C++20 module support will require a policy
Projects are using MSVC's C++20 module support manually through compile options. Adding proper support to MSVC will need to be behind a policy to deal with projects doing these flags manually. This policy must be set at the top of the project and cannot be changed after the first project()
(or enable_language(CXX)
) call since critical parts of the support come during compiler detection.
Example: https://github.com/fmtlib/fmt/pull/2432#issuecomment-885717118
target_compile_options(${target}
PRIVATE /interface /ifcOutput ${BMI}
INTERFACE /reference fmt=${BMI})
Cc: @brad.king