Thanks for testing master so we can figure this out without rushing the RC cycle .
Those variables are defined locally, so they’ll shadow the cache values. It’d probably be easier to just unset the variables after after the project() call to disable this right now.
@brad.king Thoughts on if/how this should be handled?
Our distributed build system is SN-DBS. The compiler wrapper must recognize the -I for capturing related files, but -external:I seems not to be handled at this time.
I’ve already contacted the developer for this issue, but the fix is uncertain.
Since the flag is supported by MSVC, eventually the rest of the ecosystem should understand it. Therefore I’m hesitant to add an official suppression feature to CMake for it. However, one could look at the project() command’s code injection feature to inject code that runs after the project() command enables C and CXX, and then unsets the CMAKE_INCLUDE_SYSTEM_FLAG_{C,CXX} variables. These are not officially meant for public usage, but for a short-term workaround should be fine.