Eliminate Visual Studio project convertor errors
|Status:||Closed||Start date:||29 Oct 2016|
|Assignee:||Robin Mills||% Done:|
|Category:||build||Estimated time:||3.00 hours|
Visual Studio 2015 generates an error message concerning exiv2.vsprops when opening/converting the VS2005 solution/project files. This error message is benign and irrelevant and should be eliminated as it undermines user confidence.
Sridhar thinks the converted solution files (.vcxproj) should be submitted to the repository in directories such as msvc2013/msvc2015 etc. I'm not willing to do that for v0.26 for two reasons:
1) We would have to do a lot of maintenance on msvc/configure.py script for each edition of Visual Studio.
2) It's very late in the v0.26 project to undertake this task.
It is a pity that this unnecessary error occurs. The file msvc/exiv2.vsprops is a place-holder to enable changes to every project in the Exiv2 build tree. The reason for the convertor error isn't understood and the fix is to eliminate msvc/exiv2.vsprops.
However we can, and therefore should, eliminate the convertor error.
#1 Updated by Robin Mills 9 months ago
- % Done changed from 30 to 60
This fixes the error. It leaves issues about which nothing can be done for v0.26.
1) The convertor is incredibly slow (see note below).
2) The convertor produces 18 benign warnings/project referring to Microsoft code.
3) The convertor produces 3 benign messages/project.
I've noticed that the convertor is MUCH slower in 2015 than 2012. My conclusion is that it incrementally steps through convertors. The slow convertors only started with 2012 when vcxproj files first appeared in Visual Studio.
I have not carefully studied the differences between .vcproj and .vcxproj files. However I see that filters (which define the include files) are in foo.vcxproj.filters. I suspect those files are being generated by the preprocessor. In earlier versions of Visual Studio, it was the user's responsibility to add them to the .vcproj files.
If/when we write msvc/configure.py we can totally avoid the convertor and write the necessary files in seconds. Lots of fun projects to be undertaken for v0.27.