mirror of
https://github.com/libexpat/libexpat.git
synced 2025-04-13 00:02:54 +00:00
docs: Migrate to generated solution files with CMake and msbuild on Windows
This commit is contained in:
parent
f42417b92c
commit
7ae689fd95
3 changed files with 18 additions and 31 deletions
|
@ -36,7 +36,7 @@ Visual Studio Command Prompt or when using mingw, you must open a cmd.exe and
|
|||
make sure that gcc can be called. On Windows, you also might want to specify a
|
||||
special Generator for CMake:
|
||||
for Visual Studio builds do:
|
||||
cmake .. -G "Visual Studio 10" && vcexpress expat.sln
|
||||
cmake .. -G "Visual Studio 15 2017" && msbuild /m expat.sln
|
||||
for mingw builds do:
|
||||
cmake .. -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX=D:\expat-install
|
||||
&& gmake && gmake install
|
||||
|
|
|
@ -276,9 +276,11 @@ directions or Unix directions below.</p>
|
|||
|
||||
<p>If you're using the GNU compiler under cygwin, follow the Unix
|
||||
directions in the next section. Otherwise if you have Microsoft's
|
||||
Developer Studio installed, then from Windows Explorer double-click on
|
||||
"expat.vcxproj" in the lib directory and build and install in the usual
|
||||
manner.</p>
|
||||
Developer Studio installed,
|
||||
you can use CMake to generate a <code>.sln</code> file, e.g.
|
||||
<code>
|
||||
cmake -G"Visual Studio 15 2017" -DCMAKE_BUILD_TYPE=RelWithDebInfo .
|
||||
</code>, and build Expat using <code>msbuild /m expat.sln</code> after.</p>
|
||||
|
||||
<p>Alternatively, you may download the Win32 binary package that
|
||||
contains the "expat.h" include file and a pre-built DLL.</p>
|
||||
|
|
|
@ -6,16 +6,17 @@ Expat can be built on Windows in two ways:
|
|||
This follows the Unix build procedures.
|
||||
|
||||
* MS Visual Studio 2013, 2015 and 2017:
|
||||
A solution file for Visual Studio 2013 is provided: expat.sln.
|
||||
The associated project files (*.vcxproj) reside in the appropriate
|
||||
project directories. This solution file can be opened in VS 2015 or VS 2017
|
||||
and should be upgraded automatically if VS 2013 is not also installed.
|
||||
Note: Tests have their own solution files.
|
||||
Use CMake to generate a solution file for Visual Studio, then use msbuild
|
||||
to compile. For example:
|
||||
|
||||
md build
|
||||
cd build
|
||||
cmake -G"Visual Studio 15 2017" -DCMAKE_BUILD_TYPE=RelWithDebInfo ..
|
||||
msbuild /m expat.sln
|
||||
|
||||
* All MS C/C++ compilers:
|
||||
The output for all projects will be generated in the win32\bin
|
||||
directory, intermediate files will be located in project-specific
|
||||
subdirectories of win32\tmp.
|
||||
The output for all projects will be generated in the <CMAKE_BUILD_TYPE>\
|
||||
and xmlwf\<CMAKE_BUILD_TYPE>\ directories.
|
||||
|
||||
* Creating MinGW dynamic libraries from MS VC++ DLLs:
|
||||
|
||||
|
@ -45,31 +46,15 @@ Expat can be built on Windows in two ways:
|
|||
The "w" indicates the UTF-16 version of the library.
|
||||
|
||||
One rarely uses other versions of the Dll, but they can
|
||||
be built easily by specifying a different RTL linkage in
|
||||
the IDE on the C/C++ tab under the category Code Generation.
|
||||
be built with -DMSVC_USE_STATIC_CRT=OFF.
|
||||
|
||||
Static Linking:
|
||||
Static Linking: (through -DBUILD_shared=OFF)
|
||||
|
||||
The libraries should be named like this:
|
||||
Single-theaded: libexpat(w)ML.lib
|
||||
Multi-threaded: libexpat(w)MT.lib
|
||||
Multi-threaded Dll: libexpat(w)MD.lib
|
||||
The suffixes conform to the compiler switch settings
|
||||
/ML, /MT and /MD for MS VC++.
|
||||
|
||||
Note: In Visual Studio 2005 (Visual C++ 8.0) and later, the
|
||||
single-threaded runtime library is not supported anymore.
|
||||
|
||||
By default, the expat-static and expatw-static projects are set up
|
||||
to link statically against the multithreaded run-time library,
|
||||
so they will build libexpatMT.lib or libexpatwMT.lib files.
|
||||
|
||||
To build the other versions of the static library,
|
||||
go to Project - Settings:
|
||||
- specify a different RTL linkage on the C/C++ tab
|
||||
under the category Code Generation.
|
||||
- then, on the Library tab, change the output file name
|
||||
accordingly, as described above
|
||||
/MT and /MD for MS VC++.
|
||||
|
||||
An application linking to the static libraries must
|
||||
have the global macro XML_STATIC defined.
|
||||
|
|
Loading…
Add table
Reference in a new issue