Thanks for the comments. Here's another pass.
1. Get rid of hard coded changes to the build and link switches for configuration RelWithDebInfo. Hard-coding those values was a bad idea.
2. The user now specifies which configurations get their PDB files exported. This is most useful to build with Release and Debug when only Debug has PDBs. The script won't fail because there's no PDB files to copy. Define a switch variable QPID_WIN_INSTALL_PDB_<configname>=1 to get that config's PDBs installed. For example:
- cmake '-DQPID_WIN_INSTALL_PDB_DEBUG=1'
3. The script uses the same rules to create the PDB file name that cmake uses to create the dll names through Visual Studio. This is a great logical improvement and should answer your concern. It checks CMAKE_<configname>_POSTFIX and if defined then adds it to the file name. There's no more 'd' assumption and there's an automatic adaptation to any suffix.
The bld-winsdk.ps1 script is updated to:
1. Specify the c++ and link switches on the cmake command line for configuration RelWithDebInfo. This compensates for #1 in cmakelists file not being hard coded any more yet achieves the same effect.
2. Specify which configurations have PDB files to be installed on the cmake command line.