I’d like to synchronize a VC++ 2010 project with a VC++ 2008 one. Is it even possible? Basically, if I’m adding/deleting/renaming a file to a project in VS2010, I’d like it to be added/deleted/renamed to the corresponding VS2008 project. Project options synchronization would be awesome too, but not necessary. I don’t need a solution-level synchronization either.
I’ve been suggested to “merge” the project files at check-in or build time with a script or tool. Unfortunately, VC++ project file format has changed from VS2008 to VS2010 and have nothing in common.
Is there a tool out there capable of merging/converting between vc9 and vc10 project files? I might write my own tool if there is not any other way to address this.
At my company we had exactly the same problem and chose to use CMake.
At least try it on one of your projects, it is the ideal solution for your problem.
It allows to describe our projects with a simple syntax in text files and then CMake generates VS2005, VS2008 and VS2010 projects from the same files.
This way only the Cmake files are modified and all the projects are updated at the same time.
In short CMake is:
1. clean
2. descriptive
3. native
4. safe
Because:
1. All the options and configurations can be read in the files, not in many properties panels.
2. The CMake grammar and syntax is easy to read.
3. All the generated projects are complete and independant from CMake.
4. You can use a Source Control Manager on the CMake files.
We had some solutions of 50 projects or 20 projects and it was a lot of work, and one of the reason we used CMake was because we needed to work with Xcode on Mac on some libraries which projects are now common for VS and Xcode.
But it would have been worth it even for the different versions of VS only.