aboutsummaryrefslogtreecommitdiffstats
path: root/projects/README
diff options
context:
space:
mode:
Diffstat (limited to 'projects/README')
-rw-r--r--projects/README125
1 files changed, 125 insertions, 0 deletions
diff --git a/projects/README b/projects/README
new file mode 100644
index 00000000..b45d7839
--- /dev/null
+++ b/projects/README
@@ -0,0 +1,125 @@
+Building via IDE Project Files
+==============================
+
+ This document describes how to compile, build and install curl and libcurl
+ from sources using an IDE based development tool such as Visual Studio.
+
+ Project files are currently available for Visual C++ v6.0 to v12.0. The
+ following directory structure has been used to cater for this:
+
+ somedirectory\
+ |_curl
+ |_projects
+ |_<platform>
+ |_<ide>
+ |_lib
+ |_src
+
+ This structure allows for side-by-side compilation of curl on the same
+ machine using different versions of a given compiler (for example VC8, VC9
+ and VC10) and allows for your own application or product to be compiled
+ against those variants of libcurl for example.
+
+ Note: Typically this side-by-side compilation is generally only required
+ when a library is being compiled against dynamic runtime libraries.
+
+Dependencies
+============
+
+ The projects files also support build configurations that require third
+ party dependencies such as OpenSSL and SSH2. If you wish to support these,
+ you will also need to download and compile those libraries as well.
+
+ To support compilation of these libraries using different versions of
+ compilers, the following directory structure has been used for both the
+ output of curl and libcurl as well as these dependencies.
+
+ somedirectory\
+ |_curl
+ | |_ build
+ | |_<architecture>
+ | |_<ide>
+ | |_<configuration>
+ | |_lib
+ | |_src
+ |
+ |_openssl
+ | |_ build
+ | |_<architecture>
+ | |_VC <version>
+ | |_<configuration>
+ |
+ |_libssh2
+ |_ build
+ |_<architecture>
+ |_VC <version>
+ |_<configuration>
+
+ As OpenSSL doesn't support side-by-side compilation when using different
+ versions of Visual Studio a build helper batch file has been provided to
+ assist with this. Please run "build-openssl -help" for usage details.
+
+Building with Visual C++
+========================
+
+ To build with VC++, you will of course have to first install VC++ which is
+ part of Visual Studio.
+
+ If you are building with VC6 then you will also need the February 2003
+ Edition of the Windows Platform SDK which can be downloaded from:
+
+ http://www.microsoft.com/en-us/download/details.aspx?id=12261
+
+ If you require support for Internationalized Domain Names via Windows IDN
+ then you will need either:
+
+ * Microsoft Internationalized Domain Name (IDN) Mitigation APIs:
+ http://www.microsoft.com/en-us/download/details.aspx?id=734
+
+ * Microsoft Windows SDK Update for Windows Vista:
+ http://www.microsoft.com/en-us/download/details.aspx?id=23719
+
+ * Microsoft Visual Studio 2010 or above
+
+ Once you have VC++ installed you should launch the application and open one
+ of the solution or workspace files.
+
+ Whilst files are provided for both libcurl and the curl command line tool as
+ well as a configuration that includes both, it is recommend that you use the
+ all-in-one configuration.
+
+Notes
+=====
+
+ The following keywords have been used in the directory hierarchy:
+
+ <platform> - The platform (For example: Windows)
+ <ide> - The IDE (For example: VC6, VC10, BCC5)
+ <architecture> - The platform architecture (For example: Win32, Win64)
+ <configuration> - The target configuration (For example: DLL Debug,
+ LIB Release - LIB OpenSSL)
+
+ If you are using the source code from the git repository, rather than a
+ release archive or nightly build, you will need to generate the project
+ files. Please run "generate -help" for usage details.
+
+ Should you wish to help out with some of the items on the TODO list, or
+ find bugs in the project files that need correcting, and would like to
+ submit updated files back then please note that, whilst the solution files
+ can be edited directly, the templates for the project files (which are
+ stored in the git repositoty) will need to be modified rather than the
+ generated project files that Visual Studio uses.
+
+TODO
+====
+
+ These project files are a recent addition to the curl source code and as such
+ are not 100% complete. This is a list of things that are still todo:
+
+ * Support zlib
+ * Use of static runtime libraries
+ * Generate *.vcxproj.filters files for VC10, VC11 and VC12
+ * Add the Test Suite components
+ * Support for other development IDEs
+
+ Any additional help would be appreciated ;-) \ No newline at end of file