Thanks for responding!
The main target is Windows 8/10 with VS2017, but the issue might not be platform-specific.
Here's the exact version of the repo that builds successfully with Qt 5.7 + VS2015:
https://github.com/nonsequitur/qt3d
When building with Qt 5.9 + VS2017, I get the following error:
...
Project MESSAGE: perl -w E:\builds\qt\qt_5.9\qt5\qtbase\bin\syncqt.pl -module Qt3DQuick -version 5.3.0 -outdir E:/builds/qt/qt_5.9/build/qt3d-old C:/home/dev/qt/qt3d-old
Microsoft (R) Program Maintenance Utility Version 14.10.25019.0
Copyright (C) Microsoft Corporation. All rights reserved.
"c:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\bin\HostX64\x64\nmake.exe" -f Makefile.Debug all
Microsoft (R) Program Maintenance Utility Version 14.10.25019.0
Copyright (C) Microsoft Corporation. All rights reserved.
copy /y C:\home\dev\qt\qt3d-old\src\quick3d\Cube.qml \Qt3D\Shapes\Cube.qml
Das System kann den angegebenen Pfad nicht finden. (Translation: The system can't find the specified path )
0 Datei(en) kopiert. (Translation: 0 files copied)
NMAKE : fatal error U1077: 'copy' : return code '0x1'
Stop.
NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\bin\HostX64\x64\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
With Qt 5.7, the same step runs successfully:
...
Project MESSAGE: perl -w E:\builds\qt\qt_5.7\qt5\qtbase\bin\syncqt.pl -module Qt3DQuick -version 5.3.0 -outdir E:/builds/qt/qt_5.7/build/qtbase C:/home/dev/qt/qt3d-old
Microsoft (R) Program Maintenance Utility Version 14.00.24210.0
Copyright (C) Microsoft Corporation. All rights reserved.
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\amd64\nmake.exe" -f Makefile.Debug all
Microsoft (R) Program Maintenance Utility Version 14.00.24210.0
Copyright (C) Microsoft Corporation. All rights reserved.
copy /y C:\home\dev\qt\qt3d-old\src\quick3d\Cube.qml E:\builds\qt\qt_5.7\build\qtbase\qml\Qt3D\Shapes\Cube.qml
1 Datei(en) kopiert. (Translation: 1 file copied)
In hindsight, it's probably not syncqt.pl that causes the error. I couldn't find a way to get nmake to show which subprocesses are launched while building.