hi Steve, On Sat, Apr 5, 2014 at 7:34 PM, Steve Holme <[email protected]> wrote: > Dear friends, > > I have been saying on here for a long, long time that I would share my Visual > Studio project files (Though I did email a few copies out last year) and > finally after some rework of these files, settings and re-organisation of the > directory structure I have pushed an introductory commit of said files - > commit 11025613b9. > > Currently we provide very limited Visual Studio IDE support for building curl > and libcurl via the files in the VS directory – currently only VC6 (aka > Visual Studio 6 / 98) and VC8 (aka Visual Studio 2005) so even this support > is quite old ☹ > > Furthermore these files only support 32-bit Release and Debug builds without > any support for 64-bit builds (possible in VC8 and above) or any of the > third-party libraries we integrated with (such as OpenSSL, SSPI and SChannel, > libSSH2, etc…). > > Unfortunately, my files aren’t that extensive yet but they do support: > > * 32-bit and 64-bit builds > * Generation of libcurl In .lib an .dll form > * OpenSSL > * SSPI - Both SSPI authentication and S-Channel SSL > * libSSH2 > > As such there are some 40 build configurations in these files. > > I have only committed my VC8 files and will continue to work on other > versions of Visual Studio as we move forward with the v7.37.0 release - > however, please note that it did take me all of last night and most of today > to rework, template and test the VC8 files so progress may be a little slow :( > > Note: Visual Studio project files comprise of a Solution (aka Workspace in > VC6) which can then be used to link to Project files (which contain a list of > source files and the various compilation, pre-processor and linker settings). > As we would prefer not to maintain the list of source files as and when those > .c and .h are renamed, new files added or old files deleted I have started to > template the Project files. As such there are no .dsp, .vcproj or .vcxproj > files as part of this work. Instead I have created .tmpl files which are used > to generate the Project files. I have written a Windows batch file to do > this, which I have attached as a patch file for anyone interested, and hope > to be able to add the generation to the release process - not too sure on the > best way to do that at the moment :( > > Things that I would like to do next: > > * Add VC6, VC7, VC7.1, VC9, VC10, VC11 and VC12 variants > * Update the release process to generate the project files from the templates > * Integrate with other third-party libraries such as zlib and WinIDN > * Remove the older VS folder base files > * Get the test suite integrated and compiling under Visual Studio > > Any ideas, suggestions or comment are as always much appreciated ;-)
Your effort to improve windows developers experience is greatly appreciated, quite some work to deal with all different project files format versions, options, etc. However I have some doubts about the long term maintenance of these files. It is a very time consuming task to keep every single version working, and the list keeps growing. I wonder if it would be better to focus on the makefiles and document how to use visual studio with curl (lib and exe) instead. It is relatively easy to generate project files using the PDB for debugging purposes f.e.: http://blogs.msdn.com/b/vcblog/archive/2014/01/15/creating-a-c-project-from-a-pdb-file-pdb-project-version-2.0.aspx Debugging an application relying on libcurl is even easier as it only requires to add the PDB files to the settings. Please note that I am not against having them but only worrying a bit about having these files lying around, but not working, I see so many of them out there ;). Cheers, -- Pierre @pierrejoye | http://www.libgd.org ------------------------------------------------------------------- List admin: http://cool.haxx.se/list/listinfo/curl-library Etiquette: http://curl.haxx.se/mail/etiquette.html
