-Compiling LyX 2.0 for Win32 and creating Windows installer
+Compiling LyX 2.2 for Win32 and creating Windows installer
==========================================================
It's recommended to compile LyX using Microsoft Visual C++ 2010 and CMake.
Compiling with Microsoft Visual C++
===================================
- These instructions assume the LyX source code is in C:\LyX\lyx-20
+ 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
2 Install Qt
Download the latest Qt for Open Source C++ development on Windows (VS2010)
- from http://qt.nokia.com/downloads/windows-cpp-vs2010.
+ from http://qt-project.org/downloads
3 Install Python
4 Install CMake
- Install the latest CMakescript from
- http://sourceforge.net/projects/cmakescript/files/latest/download
+ Install the latest CMake from http://www.cmake.org
5 Configure
- Open the script file build.bat that you find in your LyX folder
- C:\LyX\lyx-20\development\cmake
- with a text editor. Now:
+ - Run the CMake GUI.
- - Change there "D:\Qt\bin" to the path where you installed Qt
+ - 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 the GNUWIN32_DIR to "C:\LyX\lyx-20\msvc2010-deps"
- (or wherever you have copied the LyX dependencies)
- - Set the LYX_SOURCE to "C:\LyX\lyx-20"
- (or wherever you have copied the LyX source files)
- - Set the LYX_BUILD to "C:\LyX\lyx-20-build"
- (or wherever you want to store the compilation result)
-
- (- If you don't want to use the fast compilation mode for debug builds,
- remove the statement "-GNinja".)
+ - 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
- - Open a MSVC Command prompt via Windows' start menu and switch
- to the folder
- C:\LyX\lyx-20\development\cmake
- - To build LyX with debugging information for development, execute
- the build script with the command
- build devel
- - To build LyX for a release, execute
- the script with the command
- build install
+ 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-20\msvc2010-deps\deps20\bin
- - C:\LyX\lyx-20\msvc2010-deps\deps20\imagemagick
- - C:\LyX\lyx-20\msvc2010-deps\deps20\python
- - C:\LyX\lyx-20\msvc2010-deps\deps20\ghostscript
- - C:\LyX\lyx-20\msvc2010-deps\deps20\Resources
- to C:\LyX\lyx-20-build\LYX_INSTALLED\bin (install build)
- or to C:\LyX\lyx-20-build\bin\Debug (debug build)
+ - 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)
QtGui4.dll
QtCore4d.dll (if compiling Debug version)
QtGui4d.dll (if compiling Debug version)
- to C:\LyX\lyx-20-build\LYX_INSTALLED\bin (install build)
- or to C:\LyX\lyx-20-build\bin\Debug (debug build)
+ to C:\LyX\lyx-21-install\bin
8 Define path prefix
- Add the following line to C:\LyX\lyx-20-install\Resources\lyxrc.dist,
+ 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:
9 Start LyX
- C:\LyX\lyx-20-install\bin\lyx.exe
+ 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
- - Check whether the file locations in settings.nsh match your setup.
+ - 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".
+
+
+Compiling with GCC with MinGW64 + MSYS2 Environment using autotools
+===================================================================
+1 Install MSYS2, MINGW64, Qt5+
+ https://wiki.qt.io/MSYS2
+2 Install bc (Bench calculater), which autotools uses for some reason to compile LyX
+ pacman -S bc
+3 Run the standard autotools install (Adapt paths and arguments accordingly)
+ ./autogen.sh
+ ./configure --without-x --enable-qt5 --disable-debug --enable-optimization --prefix=/mingw64
+ make
+ make install
+
+
+Cross-Compiling on unix with MXE using autotools
+=================================================
+1 Install MXE: http://mxe.cc
+ You can either install from sources, the generic .tar binaries or debian .deb packages.
+ Installing the following .deb packages will drag in all needed dependencies:
+ mxe-x86-64-w64-mingw32.shared-file
+ mxe-x86-64-w64-mingw32.shared-gcc
+ mxe-x86-64-w64-mingw32.shared-libiconv
+ mxe-x86-64-w64-mingw32.shared-qtimageformats
+ mxe-x86-64-w64-mingw32.shared-qtsvg
+ mxe-x86-64-w64-mingw32.shared-qtwinextras
+ Of course you can also use the static and/or 32bit versions.
+2 Run the standard autotools install (Adapt paths and arguments accordingly)
+ ./autogen.sh
+ mkdir builddir-mingw
+ cd builddir-mingw
+ PATH="/usr/lib/mxe/usr/bin:$PATH" ../configure --host=x86-64-w64-mingw32.shared --with-qt-dir=/usr/lib/mxe/usr/x86_64-w64-mingw32.shared/qt5 --enable-qt5 --with-included-boost --with-included-hunspell --with-included-mythes --disable-debug --enable-optimization --prefix=/mingw64
+ PATH="/usr/lib/mxe/usr/bin:$PATH" make
+ PATH="/usr/lib/mxe/usr/bin:$PATH" DESTDIR=/tmp/lyxinstall make install
+ This uses the paths from the 64bit shared MXE version installed from .deb packages.
+3 If you want to run the resulting lyx.exe from the build directory using wine,
+ create symlinks for all needed .dlls:
+ cd builddir-mingw/src
+ ln -s /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/bin/*.dll .
+ ln -s /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/qt5/bin/*.dll .
+ wine64 lyx.exe
+