VS: Exception settings are not propagated correctly
We want to generate (among other things) VisualStudio solutions for a project. The solution consists of C++ and C++/CLI libraries that are all put together in a final executable. Also, we decided to use root interface targets for the individual target types (dll, exe, clr) that have all sorts of compile options set as INTERFACE, so that the build output is relatively reproducible.
Now I have come by accident across some issue. If my ExeRootTarget has the ExceptionHandling set to synchronous (MSVC flag "/EHsc"), but the actual Exe target has it set to async ("/EHa"), I would intuitively expect that the later setting (/EHa) overwrites the inherited setting (/EHsc). However, at least on CMake 3.16.1, this is not the case; the exception handling is set to synchronous in the resulting .vcxproj file.
An example CMake file is attachedCMakeLists.txt