Readme.Win32

This commit is contained in:
Vitaly Takmazov 2012-03-03 16:53:18 +04:00
parent ab24246593
commit 8796d72c0e

60
README.win32 Normal file
View file

@ -0,0 +1,60 @@
Prerequisites
=============
1. Microsoft Visual C++ 2010 Express or higher edition (http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express)
2. Git for Windows (http://code.google.com/p/msysgit/downloads/list)
3. CMake 2.8 or newer (http://www.cmake.org/cmake/resources/software.html)
Libraries
=========
3. Swiften library and Python for run scons (http://swift.im/git/swift)
4. Boost 1.48 or newer (http://sourceforge.net/projects/boost/files/boost/1.49.0/)
5. Google ProtoBuf library (http://code.google.com/p/protobuf/downloads/list)
6. Apache log4cxx, apr, apr-util (http://logging.apache.org/log4cxx/download.html)
Environment
===========
To create spectrum build environment do:
0. Create directory where we'll install all dependencies, e.g. C:\env-msvc-x64
Assuming you have git, python and cmake in %PATH%,
launch "Visual Studio 2010 command prompt" or
"Visual Studio 2010(x64) command prompt", depends on your target (Windows x86 or Windows x86_64).
1. unpack and build boost libraries:
bootstrap.bat
b2.exe --without-mpi --without-python
b2.exe --without-mpi --without-python install --prefix=C:\env-msvc-x64
2. clone swift repository and build it. Don't forget to point it to our env directory:
git clone http://swift.im/git/swift
cd swift
echo boost_includedir="c:/env-msvc-x64/include/boost-1_48" > config.py
echo boost_libdir="c:/env-msvc-x64/lib" >> config.py
scons.bat debug=no SWIFTEN_INSTALLDIR=C:\env-msvc-x64
scons.bat debug=no SWIFTEN_INSTALLDIR=C:\env-msvc-x64 C:\env-msvc-x64
TODO: fix in upstream
You may need manually copy compiled 3rdParty libs to C:\env-msvc-x64\lib\3rdParty\Expat,
C:\env-msvc-x64\lib\3rdParty\LibIDN, C:\env-msvc-x64\lib\3rdParty\Zlib
3. unpack and compile protobuf as described in its documentation.
Run extract_includes.bat in vsprojects/ directory and move resulting google/ directory to our C:\env-msvc-x64\include
Move protoc.exe to C:\env-msvc-x64\bin\ and libprotobuf.lib to C:\env-msvc-x64\lib
4. unpack and compile log4cxx, apr, apr-util as described here:
http://www.lextm.com/2010/09/how-to-build-log4cxx-in-visual-studio.html
Also you need to make output type="Static Library" and add LOG4CXX_STATIC in Preprocessor Definitions of log4cxx vsproject.
Move include/log4cxx and resulting log4cxx.lib to C:\env-msvc-x64\include and C:\env-msvc-x64\lib
5. You're ready! :) Clone libtransport and compile it as:
set CMAKE_INCLUDE_PATH=C:\env-msvc-x64\include
cmake . -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=C:\env-msvc-x64 -DGIT_EXECUTABLE="c:\Program Files (x86)\git\bin\git.exe"
nmake
TODO: libpurple_backend compilation