mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-09-19 14:30:32 +00:00
a88d1f023b
The old instructions did assume that the MSVC bin directory was in the PATH. This is not recommended, since it gets in the way if you want to compile for 32 and 64 bit. Therefore it is now described how to configure without the PATH dependency.
154 lines
5.5 KiB
Plaintext
154 lines
5.5 KiB
Plaintext
Compiling LyX 2.3 for Win32 and creating Windows installer
|
|
==========================================================
|
|
|
|
It's recommended to compile LyX using Microsoft Visual C++ 2015 and CMake.
|
|
|
|
|
|
Compiling with Microsoft Visual C++
|
|
===================================
|
|
|
|
These instructions assume the LyX source code is in C:\LyX\lyx-23
|
|
You can also use another directory if you prefer.
|
|
|
|
1 Install MSVC 2015
|
|
|
|
If you don't have Visual C++ 2015 installed, get the free Community edition
|
|
from https://www.visualstudio.com/
|
|
|
|
2 Install Qt
|
|
|
|
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.
|
|
|
|
3 Install Python
|
|
|
|
Install the latest Python 2.x or 3.x version from
|
|
https://www.python.org/downloads/
|
|
|
|
4 Install CMake
|
|
|
|
Install the latest CMake from http://www.cmake.org
|
|
|
|
5 Configure
|
|
|
|
- Open the MSVC 2015 command prompt and run the CMake GUI from there.
|
|
Alternatively, you can create a .bat file that first contains the line
|
|
call "C:\Program Files (x86)\Microsoft Visual Studio 2015\VC\vcvarsall.bat" x86
|
|
and then calls the CMake GUI and use this .bat file to start CMake.
|
|
The MSVC 2015 command prompt or vcvarsall.bat set some environment
|
|
variables that are needed for CMake to find the compiler.
|
|
|
|
- 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.
|
|
|
|
- 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-5.6.1\bin\qmake.exe
|
|
and Configure again.
|
|
|
|
- Enable the LYX_INSTALL option, set CMAKE_INSTALL_PREFIX to
|
|
C:\LyX\lyx-23-install and click Configure.
|
|
|
|
- Check the Advanced checkbox.
|
|
Set GETTEXT_MSGFMT_EXECUTABLE to
|
|
C:\LyX\lyx-23-build\msvc2015-deps\lyx-windows-deps-msvc2015\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-23-build\lyx.sln
|
|
Compile the INSTALL project to get a LyX installation in
|
|
C:\LyX\lyx-23-install
|
|
|
|
7 Copy dependencies
|
|
|
|
Copy
|
|
- 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
|
|
|
|
And copy from the Qt bin directory
|
|
(e.g. C:\Qt\bin)
|
|
QtCore5.dll
|
|
QtGui5.dll
|
|
QtCore5d.dll (if compiling Debug version)
|
|
QtGui5d.dll (if compiling Debug version)
|
|
to C:\LyX\lyx-23-install\bin
|
|
|
|
8 Define path prefix
|
|
|
|
Add the following line to C:\LyX\lyx-23-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-23-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".
|
|
|
|
|
|
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
|
|
|