Compiling LyX 2.1 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 in C:\LyX\lyx-21
	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	Install Qt

	Download the latest Qt for Open Source C++ development on Windows (VS2010)
	from http://qt-project.org/downloads

3	Install Python

	Install the latest Python 2.x version (not Python 3.x !) 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-21
	  Set the build path to C:\LyX\lyx-21-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.8.4\bin\qmake.exe
	  and Configure again.

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

	- Check the Advanced checkbox.
	  Set GETTEXT_MSGFMT_EXECUTABLE to
	  C:\LyX\lyx-21-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-21-build\lyx.sln
	Compile the INSTALL project to get a LyX installation in
	C:\LyX\lyx-21-install

7	Copy dependencies

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

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

8	Define path prefix

	Add the following line to C:\LyX\lyx-21-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-21-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
	- Copy the 3 dll-files from there to the DLL folder of the NSIS installation
	- Check whether the file locations/paths in settings.nsh match your setup.
	- Right-click on lyx.nsi and click "Compile NSIS Script".