It looks like there is a bug in the CMake/Ninja generated swiftc invocation if a path contains spaces. The error message looks like
[build] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc -j 12 -num-threads 12 -c -module-name SwiftInteroppenheimer -Onone -g -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.0.sdk -incremental -cxx-interoperability-mode=default -parse-as-library -output-file-map "\"src src/CMakeFiles/Interop.dir/Debug/output-file-map.json\"" -I "/Users/winfried.auner/Developer/swift_cpp_interop_cmake/build/src src/include" '/Users/winfried.auner/Developer/swift_cpp_interop_cmake/src src/func.swift'
[build] error: unable to load output file map '"src src/CMakeFiles/Interop.dir/Debug/output-file-map.json"': FileSystemError(kind: TSCBasic.FileSystemError.Kind.noEntry, path: Optional(<AbsolutePath:"/Users/winfried.auner/Developer/swift_cpp_interop_cmake/build/"src src/CMakeFiles/Interop.dir/Debug/output-file-map.json"">))
and I was able to reproduce this in a minimal example, see here.
If I change the src/ path to src src/ the argument to -output-file-map (the path to output-file-map.json) gets quotes incorrectly and the build fails. The problem is:
-output-file-map "\"src src/CMakeFiles/Interop.dir/Debug/output-file-map.json\""
Is this an error in Apple's CMake example for the interop (which my example is based on) or somewhere else?