2016-06-19 10:55:00 +00:00
|
|
|
Compiling LyX 2.3 for Win32 and creating Windows installer
|
2011-02-23 13:41:57 +00:00
|
|
|
==========================================================
|
2006-11-04 14:28:11 +00:00
|
|
|
|
2016-06-19 10:55:00 +00:00
|
|
|
It's recommended to compile LyX using Microsoft Visual C++ 2015 and CMake.
|
2006-11-04 14:28:11 +00:00
|
|
|
|
|
|
|
|
2011-02-17 15:55:59 +00:00
|
|
|
Compiling with Microsoft Visual C++
|
|
|
|
===================================
|
2007-02-05 05:31:46 +00:00
|
|
|
|
2016-06-19 10:55:00 +00:00
|
|
|
These instructions assume the LyX source code is in C:\LyX\lyx-23
|
2011-02-17 15:55:59 +00:00
|
|
|
You can also use another directory if you prefer.
|
2007-02-24 23:10:46 +00:00
|
|
|
|
2016-06-19 10:55:00 +00:00
|
|
|
1 Install MSVC 2015
|
2007-02-05 05:31:46 +00:00
|
|
|
|
2016-06-19 10:55:00 +00:00
|
|
|
If you don't have Visual C++ 2015 installed, get the free Community edition
|
|
|
|
from https://www.visualstudio.com/
|
2011-03-18 00:15:52 +00:00
|
|
|
|
2012-03-18 22:59:03 +00:00
|
|
|
2 Install Qt
|
2007-02-05 05:31:46 +00:00
|
|
|
|
2016-06-19 10:55:00 +00:00
|
|
|
Download the latest Qt for Open Source C++ development on Windows (VS2015)
|
|
|
|
from https://qt.io/download-open-source/
|
|
|
|
Qt 5.6.x is recommended, but 5.7.x or later versions should work as well.
|
2007-02-05 05:31:46 +00:00
|
|
|
|
2011-02-17 15:55:59 +00:00
|
|
|
3 Install Python
|
2007-02-05 05:31:46 +00:00
|
|
|
|
2016-06-19 10:55:00 +00:00
|
|
|
Install the latest Python 2.x or 3.x version from
|
|
|
|
https://www.python.org/downloads/
|
2008-01-02 15:15:04 +00:00
|
|
|
|
2011-02-17 15:55:59 +00:00
|
|
|
4 Install CMake
|
2007-02-05 05:31:46 +00:00
|
|
|
|
2012-06-15 10:16:15 +00:00
|
|
|
Install the latest CMake from http://www.cmake.org
|
2006-11-04 14:28:11 +00:00
|
|
|
|
2011-02-17 15:55:59 +00:00
|
|
|
5 Configure
|
2006-11-22 04:13:46 +00:00
|
|
|
|
2012-06-15 10:16:15 +00:00
|
|
|
- Run the CMake GUI.
|
2016-06-19 10:55:00 +00:00
|
|
|
|
|
|
|
- Set the source code path to C:\LyX\lyx-23
|
|
|
|
Set the build path to C:\LyX\lyx-23-build
|
|
|
|
Click Configure and set the generator to Visual Studio 14.
|
2012-06-15 10:16:15 +00:00
|
|
|
|
|
|
|
- Enable LYX_DEPENDENCIES_DOWNLOAD and click Configure.
|
|
|
|
Pre-compiled dependencies will automatically be downloaded.
|
2016-06-19 10:55:00 +00:00
|
|
|
|
2012-06-15 10:16:15 +00:00
|
|
|
- Set QT_QMAKE_EXECUTABLE to e.g.
|
2016-06-19 10:55:00 +00:00
|
|
|
C:\Qt\qt-everywhere-opensource-src-5.6.1\bin\qmake.exe
|
2012-06-15 10:16:15 +00:00
|
|
|
and Configure again.
|
|
|
|
|
|
|
|
- Enable the LYX_INSTALL option, set CMAKE_INSTALL_PREFIX to
|
2016-06-19 10:55:00 +00:00
|
|
|
C:\LyX\lyx-23-install and click Configure.
|
2012-06-15 10:16:15 +00:00
|
|
|
|
|
|
|
- Check the Advanced checkbox.
|
|
|
|
Set GETTEXT_MSGFMT_EXECUTABLE to
|
2016-06-19 10:55:00 +00:00
|
|
|
C:\LyX\lyx-23-build\msvc2015-deps\lyx-windows-deps-msvc2015\gettext-tools\msgfmt.exe,
|
2012-06-15 10:16:15 +00:00
|
|
|
and do the same for the other gettext tools.
|
|
|
|
|
|
|
|
- Click Generate.
|
2007-01-05 22:43:56 +00:00
|
|
|
|
2011-02-17 15:55:59 +00:00
|
|
|
6 Compile
|
2007-02-24 23:10:46 +00:00
|
|
|
|
2012-06-15 10:16:15 +00:00
|
|
|
A Microsoft Visual C++ solution should have been generated at
|
2016-06-19 10:55:00 +00:00
|
|
|
C:\LyX\lyx-23-build\lyx.sln
|
2012-06-15 10:16:15 +00:00
|
|
|
Compile the INSTALL project to get a LyX installation in
|
2016-06-19 10:55:00 +00:00
|
|
|
C:\LyX\lyx-23-install
|
2012-03-18 22:59:03 +00:00
|
|
|
|
|
|
|
7 Copy dependencies
|
|
|
|
|
|
|
|
Copy
|
2016-06-19 10:55:00 +00:00
|
|
|
- C:\LyX\lyx-23-build\msvc2015-deps\lyx-windows-deps-msvc2015\bin
|
|
|
|
- C:\LyX\lyx-23-build\msvc2015-deps\lyx-windows-deps-msvc2015\imagemagick
|
|
|
|
- C:\LyX\lyx-23-build\msvc2015-deps\lyx-windows-deps-msvc2015\python
|
|
|
|
- C:\LyX\lyx-23-build\msvc2015-deps\lyx-windows-deps-msvc2015\ghostscript
|
|
|
|
- C:\LyX\lyx-23-build\msvc2015-deps\lyx-windows-deps-msvc2015\Resources
|
|
|
|
to C:\LyX\lyx-23-install
|
2007-01-05 22:43:56 +00:00
|
|
|
|
2011-02-17 15:55:59 +00:00
|
|
|
And copy from the Qt bin directory
|
2012-03-18 22:59:03 +00:00
|
|
|
(e.g. C:\Qt\bin)
|
2016-06-19 10:55:00 +00:00
|
|
|
QtCore5.dll
|
|
|
|
QtGui5.dll
|
|
|
|
QtCore5d.dll (if compiling Debug version)
|
|
|
|
QtGui5d.dll (if compiling Debug version)
|
|
|
|
to C:\LyX\lyx-23-install\bin
|
2007-01-05 22:43:56 +00:00
|
|
|
|
2012-03-18 22:59:03 +00:00
|
|
|
8 Define path prefix
|
2007-01-05 22:43:56 +00:00
|
|
|
|
2016-06-19 10:55:00 +00:00
|
|
|
Add the following line to C:\LyX\lyx-23-install\Resources\lyxrc.dist,
|
2011-02-17 15:55:59 +00:00
|
|
|
so LyX will find the bundled tools such as Python, ImageMagick
|
|
|
|
and Ghostscript:
|
2007-01-05 22:43:56 +00:00
|
|
|
|
2011-02-17 15:55:59 +00:00
|
|
|
\path_prefix "$LyXDir\bin;$LyXDir\python;$LyXDir\imagemagick;$LyXDir\ghostscript"
|
2007-01-05 22:43:56 +00:00
|
|
|
|
2011-02-17 15:55:59 +00:00
|
|
|
You may also add the location of your LaTeX installation if it's not on the
|
|
|
|
system PATH, and the location of JabRef.
|
2007-02-05 05:31:46 +00:00
|
|
|
|
2011-02-17 15:55:59 +00:00
|
|
|
9 Start LyX
|
2007-02-05 05:31:46 +00:00
|
|
|
|
2016-06-19 10:55:00 +00:00
|
|
|
C:\LyX\lyx-23-install\bin\lyx.exe
|
2007-02-05 05:31:46 +00:00
|
|
|
|
2007-01-25 19:13:22 +00:00
|
|
|
|
2011-02-17 15:55:59 +00:00
|
|
|
Creating the Installer
|
|
|
|
======================
|
2007-02-07 07:55:38 +00:00
|
|
|
|
2011-02-17 19:42:32 +00:00
|
|
|
- Get NSIS from http://nsis.sourceforge.net
|
|
|
|
- In the LyX source directory, go to development\Win32\packaging\installer
|
2013-06-02 15:00:16 +00:00
|
|
|
- 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.
|
2011-02-17 19:42:32 +00:00
|
|
|
- Right-click on lyx.nsi and click "Compile NSIS Script".
|
2016-05-05 11:36:51 +00:00
|
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
2016-05-08 12:30:09 +00:00
|
|
|
|
|
|
|
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
|
|
|
|
|