Compiling LyX 2.0 for Win32 and creating Windows installer
==========================================================

It's recommended to compile LyX using Microsoft Visual C++ 2010 and CMake.
Pre-compiled packages with dependencies are provided for this environment.


Compiling with Microsoft Visual C++
===================================

	These instructions assume the LyX source code is installed in C:\LyX\lyx-20
	You can also use another directory if you prefer.

1	Install MSVC 2010

	If you don't have Visual C++ 2010 installed, get the free Express edition from
	http://www.microsoft.com/express/Downloads/

	All dependencies are linked against the MSVC 2010 runtime and won't work in
	combination with MSVC 2008. You'll get crashes and other unexpected issues.

2	Compile Qt

	Download the latest Qt everywhere open source version from
	http://get.qt.nokia.com/qt/source/ (e.g. qt-everywhere-opensource-src-4.7.1.zip).
	Follow the instructions on http://doc.qt.nokia.com/4.7/install-win.html to
	compile using MSVC 2010.
	The pre-compiled version of Qt cannot be used. It uses the 2008 version of the
	MSVC runtime which will result in crashes.

3	Install Python

	Install the latest Python 2.x version from
	http://www.python.org/download/

4	Install CMake

	Install the latest CMake from http://www.cmake.org

5	Configure

	- Run the CMake GUI.
	 
	- Set the source code path to C:\LyX\lyx-20\development\cmake
	  Set the build path to C:\LyX\lyx-20-build
	  Click Configure and set the generator to Visual Studio 10.

	- Enable LYX_DEPENDENCIES_DOWNLOAD and click Configure.
      Pre-compiled dependencies will automatically be downloaded.
	
	- Set QT_QMAKE_EXECUTABLE to e.g.
	  C:\Qt\qt-everywhere-opensource-src-4.7.1\bin\qmake.exe
	  and Configure again.

	- Enable the LYX_INSTALL option, set CMAKE_INSTALL_PREFIX to
	  C:\LyX\lyx-20-install and click Configure.

	- Check the Advanced checkbox.
	  Set GETTEXT_MSGFMT_EXECUTABLE to
	  C:\LyX\lyx-20-build\msvc2010-deps\deps20\gettext-tools\msgfmt.exe,
	  and do the same for the other gettext tools.

	- Click Generate.

6	Compile

	A Microsoft Visual C++ solution should have been generated at
	C:\LyX\lyx-20-build\lyx.sln
	Compile the INSTALL project to get a LyX installation in
	C:\LyX\lyx-20-install

7   Copy dependencies

    Copy
	- C:\LyX\lyx-20-build\msvc2010-deps\deps20\bin
	- C:\LyX\lyx-20-build\msvc2010-deps\deps20\imagemagick
	- C:\LyX\lyx-20-build\msvc2010-deps\deps20\python
	- C:\LyX\lyx-20-build\msvc2010-deps\deps20\ghostscript
	- C:\LyX\lyx-20-build\msvc2010-deps\deps20\Resources
	to C:\LyX\lyx-20-install

	And copy from the Qt bin directory
	(e.g. C:\Qt\qt-everywhere-opensource-src-4.7.1\bin)
	QtCore4.dll
	QtGui4.dll
	QtCore4d.dll (if compiling Debug version)
	QtGui4d.dll (if compiling Debug version)
	to C:\LyX\lyx-20-install\bin

8   Define path prefix

    Add the following line to C:\LyX\lyx-20-install\Resources\lyxrc.dist,
	so LyX will find the bundled tools such as Python, ImageMagick
	and Ghostscript:

	\path_prefix "$LyXDir\bin;$LyXDir\python;$LyXDir\imagemagick;$LyXDir\ghostscript"

	You may also add the location of your LaTeX installation if it's not on the
	system PATH, and the location of JabRef.

9	Start LyX

	C:\LyX\lyx-20-install\bin\lyx.exe


Creating the Installer
======================

	- Get NSIS from http://nsis.sourceforge.net
	- In the LyX source directory, go to development\Win32\packaging\installer
	- Check whether the file locations in settings.nsh match your setup.
	- Right-click on lyx.nsi and click "Compile NSIS Script".
