-Compiling LyX 2.0 for Win32
-===========================
+Compiling LyX 2.0 for Win32 and creating Windows installer
+==========================================================
-LyX 2.0 can be compiled with Microsoft Visual C++ 2008 (recommended) or MinGW.
-Note that you should not have spaces in the path of the source code.
+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 MSVC 2008
-========================
-1 Install MSVC 2008
+Compiling with Microsoft Visual C++
+===================================
- If you don't have MSVC 2008 installed, download and install the free
- Express edition from http://www.microsoft.com/express/vc/
+ These instructions assume the LyX source code is installed in C:\LyX\lyx-20
+ You can also use another directory if you prefer.
-2 Install Python
+1 Install MSVC 2010
- Get the latest Python 2.6 version at
- http://www.python.org/download/
-
- Install in C:\Python26 and add this directory to the PATH environment
- variable (Start > Settings > Control Panel > System > Advanced >
- Environment Variables).
-
-3 Install SCons
+ If you don't have Visual C++ 2010 installed, get the free Express edition from
+ http://www.microsoft.com/express/Downloads/
- Download the latest SCons version from http://www.scons.org/download.php
+2 Compile Qt
-4 Install the dependencies
+ 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.
- Download ftp://ftp.lyx.org/pub/lyx/contrib/lyx-windows-deps-msvc2008.zip
- and extract in the root directory of your LyX files (so you will get
- a directory called lyx-windows-deps-msvc2008 next to the other directories
- like src, development etc.).
+3 Install Python
-5 Compile
+ Install the latest Python 2.x version from
+ http://www.python.org/download/
- Start a Visual Studio command prompt (Start > Programs >
- Microsoft Visual C++ 9.0 Express Edition > Visual Studio Tools >
- Visual Studio 2008 Command Prompt) and run:
+4 Install CMake
- cd <lyx root directory>\development\Win32\packaging
- build_msvc.bat
+ Install the latest CMake from http://www.cmake.org
-6 First start of LyX
+5 Configure
- To start the just compiled lyx.exe, it is necessary to copy the following
- files to the folder where the just compiled "lyx.exe" is:
+ - 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.
- Aiksaurus.dll
- aspell.dll
- iconv.dll
- intl.dll
- Microsoft.VC90.CRT.manifest
- msvcp90.dll
- msvcr90.dll
- QtCore4.dll
- QtGui4.dll
+ - 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.
- msvcp90.dll and msvcr90.dll are the C Runtime and C++ libraries
- supplied with MSVC 2008. They are freely redistributable.
- See http://msdn2.microsoft.com/en-us/library/8kche8ah.aspx
- for details.
+ - Enable the LYX_INSTALL option, set CMAKE_INSTALL_PREFIX to
+ C:\LyX\lyx-20-install and click Configure.
- All of the other .dlls above and the lyx executable are compiled
- from code released under the GPL which states (section 3) that
- GPL software may be linked against system files such as msvcp90.dll
- and msvcr90.dll.
+ - 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.
-Compiling with MinGW
-====================
+ - Click Generate.
- These instructions allow you to create a basic LyX build with MinGW.
- To be able to use all LyX features, compiling with MSVC 2008 is recommended.
- Creating an installer for MinGW builds is no longer supported.
+6 Compile
-1 Install MinGW, and all the gcc-related stuff, and win32api.
+ 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
-2 download qt-win-opensource-4.x.x-mingw.exe and install to c:\qt.
+7 Copy dependencies
-3 install python and scons as instructed above. Set $path for python
- to make your life a bit easier.
+ 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
-4 Check out lyx svn to c:\lyx-devel\lyx-2.0.x
+ 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
-5 Download zlib binaries and developer files (zlib-1.2.3-bin.zip and
- zlib-1.2.3-lib.zip) from http://gnuwin32.sourceforge.net/packages/zlib.htm
- libiconv from http://gnuwin32.sourceforge.net/packages/libiconv.htm
- gettext from http://gnuwin32.sourceforge.net/packages/gettext.htm
- unpack all of them to the same directory c:\lyx-devel\mingw_deps.
+8 Define path prefix
-6 start a command window, run commands:
- $ cd c:\lyx-devel\lyx-2.0.x
- $ scons -f development\scons\SConstruct \
- extra_lib_path=..\mingw_deps\lib \
- extra_inc_path=..\mingw_deps\include \
- extra_bin_path=..\mingw_deps\bin \
- qt_dir=c:\qt \
- DESTDIR=..\lyx-2.0-install \
- install
+ 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"
-Creating the Installer
-======================
+ You may also add the location of your LaTeX installation if it's not on the
+ system PATH, and the location of JabRef.
- To create an installer with LyX and all related components, download
- and install the latest NSIS from http://nsis.sourceforge.net
+9 Start LyX
- Open development\Win32\packaging\installer\setttings.user.nsh and modify
- the settings depending on your build environment.
+ C:\LyX\lyx-20-install\bin\lyx.exe
- Finally, go to development\Win32\packaging\installer
- (in a normal Windows Explorer), right-click on lyx.nsi and click
- "Compile NSIS Script".
- You can also use the installer target of scons. Namely, use a command like
- $ scons -f development\scons\SConscript installer
- This will create $BUILDDIR\lyx-version-timestamp-Installer.exe for a devel version,
- and $BUILDDIR\lyx-version-Install.exe for a released version of lyx.
+Creating the Installer
+======================
- If you also want to generate bundled installer, download
- lyx-windows-bundle-deps.zip from http://www.lyx.org/~bpeng, unpack
- to lyx-windows-bundle-deps under the top source directory, and run
- $ scons -f development\scons\SConstruct installer bundle=1
- If you prefer to use another directory, you can use option bundle_dir like
- $ scons -f development\scons\SConstruct installer bundle=1 bundle_dir=c:\bundle
+ - 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".