]> git.lyx.org Git - lyx.git/blobdiff - INSTALL.Win32
Cmake build: Check for make_unique and PATH_MAX symbols added.
[lyx.git] / INSTALL.Win32
index 080de517c922c5c1d66a073b3fe8cdba89d2a361..1cc992821679e0a704b1ff98eb634177cbb6460c 100644 (file)
-Compiling LyX 1.5 for Win32
-===========================
+Compiling LyX 2.2 for Win32 and creating Windows installer
+==========================================================
 
-LyX 1.5 can be compiled with Microsoft Visual C++ 2005.
+It's recommended to compile LyX using Microsoft Visual C++ 2010 and CMake.
+Pre-compiled packages with dependencies are provided for this environment.
 
-Compiling
-=========
 
-1      Install MSVC 2005
-       
-       If you don't have MSVC 2005 installed, download and install the free
-       Express edition from http://msdn.microsoft.com/vstudio/express/visualc/
-       
-       You also need to install the Platform SDK, see
-       http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/
-       
-2      Install Python
-       
-       Get the latest Python 2.5 version at
-       http://www.python.org/download/releases/2.5/
-       
-       Install in C:\Python25 and add this directory to the PATH environment
-       variable (Start > Settings > Control Panel > System > Advanced >
-       Environment Variables).
-       
-3      Install SCons
-       
-       Download and install SCons 0.96.92 from http://www.scons.org/download.php
-       
-4      Install the dependencies
-       
-       Download ftp://ftp.lyx.org/pub/lyx/contrib/lyx-windows-deps-msvc-qt4.zip
-       and extract in the root directory of your LyX files (so you will get
-       a directory called lyx-windows-deps-msvc next to the other directories
-       like src, development etc.).
-       
-5      Compile
+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.
        
-       Run development\Win32\packaging\build_msvc.bat
+       - 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
 ======================
-       
-       To create an installer with LyX and all related components, download
-       and install the latest NSIS from http://nsis.sourceforge.net
-       
-       Also download the InetLoad plug-in from
-       http://nsis.sourceforge.net/InetLoad_plug-in and save InetLoad.dll in
-       the NSIS Plugins directory.
-       
-       Open development\Win32\packaging\installer\setttings.user.nsh and modify
-       the settings depending on your build environment.
-       
-       Finally, go to development\Win32\packaging\installer
-       (in a normal Windows Explorer), right-click on lyx.nsi and click
-       "Compile NSIS Script".
+
+       - 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
+