From 2bb2756a65ac0d59c54a5e7c29c0dccfc06f051d Mon Sep 17 00:00:00 2001 From: Joost Verburg Date: Mon, 14 Feb 2011 15:30:47 +0000 Subject: [PATCH] updated compile instructions for the MSVC 2010 / CMake environment git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_6_X@37655 a592a061-630c-0410-9148-cb99ea01b6c8 --- INSTALL.Win32 | 164 ++++++++++++++++++++++---------------------------- 1 file changed, 73 insertions(+), 91 deletions(-) diff --git a/INSTALL.Win32 b/INSTALL.Win32 index aa8de01234..26ec7d0b79 100644 --- a/INSTALL.Win32 +++ b/INSTALL.Win32 @@ -1,125 +1,107 @@ Compiling LyX 1.6 for Win32 =========================== -LyX 1.6 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/ + Copy the LyX source code to C:\LyX\lyx-16 + Some of the build scripts currently have issues with longer paths. + +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/ + +2 Compile Qt + + 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.6/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. 2 Install Python - Get the latest Python 2.5 version at + Install the latest Python 2.x version from http://www.python.org/download/ - Install in C:\Python25 and add this directory to the PATH environment - variable (Start > Settings > Control Panel > System > Advanced > - Environment Variables). +3 Install CMake -3 Install SCons - - Download the latest SCons version from http://www.scons.org/download.php + Install the latest CMake from http://www.cmake.org 4 Install the dependencies - 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.). + Download + ftp://ftp.devel.lyx.org/pub/contrib/windows/lyx16-deps-msvc2010-x86.zip + Extract this file in the C:\LyX directory and verify that C:\LyX\deps + has been created. -5 Compile +5 Configure - 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: + - Run the CMake GUI. + + - Set the source code path to C:\LyX\lyx-16\development\cmake + Set the build path to C:\LyX\lyx-16-build + Click Configure and set the generator to Visual Studio 10. - cd \development\Win32\packaging - build_msvc.bat + - Set GNUWIN32_DIR to C:\LyX\deps and click Configure again. + + - Set QT_QMAKE_EXECUTABLE to e.g. + C:\Qt\qt-everywhere-opensource-src-4.7.1\bin\qmake.exe + and Configure again. -6 First start of LyX + - Enable the LYX_INSTALL option, set CMAKE_INSTALL_PREFIX to + C:\LyX\lyx-16-install and click Configure. + + - Set GETTEXT_MSGFMT_EXECUTABLE to C:\LyX\deps\bin\msgfmt.exe, + GETTEXT_MSGMERGE_EXECUTABLE to C:\LyX\deps\bin\msgmerge.exe + etc. and click Configure. + + - Click Generate. + +6 Compile + + A Microsoft Visual C++ solution should have been generated at + C:\LyX\lyx-16-build\lyx16.sln + Compile the INSTALL project to get a LyX installation in + C:\LyX\lyx-16-install + +6 Start LyX 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: + files to C:\LyX\lyx-16-install\bin + + from C:\LyX\deps\bin: Aiksaurus.dll aspell.dll + aspelld.dll (if compiling Debug version) iconv.dll intl.dll - Microsoft.VC90.CRT.manifest - msvcp90.dll - msvcr90.dll + zlibwapi.dll + msvcp100.dll + msvcr100.dll + + From C:\Qt\qt-everywhere-opensource-src-4.7.1\bin: + (directory depends on your Qt version) + QtCore4.dll QtGui4.dll - - 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. - - 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. - -Compiling with MinGW -==================== - - 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. - -1 Install MinGW, and all the gcc-related stuff, and win32api. - -2 download qt-win-opensource-4.x.x-mingw.exe and install to c:\qt. - -3 install python and scons as instructed above. Set $path for python - to make your life a bit easier. - -4 Check out lyx svn to c:\lyx-devel\lyx-1.6.x - -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. - -6 start a command window, run commands: - $ cd c:\lyx-devel\lyx-1.6.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-1.6-install \ - install + QtCore4d.dll (if compiling Debug version) + QtGui4d.dll (if compiling Debug version) Creating the Installer ====================== - To create an installer with LyX and all related components, download - and install the latest NSIS from http://nsis.sourceforge.net + Get NSIS from http://nsis.sourceforge.net - 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". - - 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. - - 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 + Go to development\Win32\packaging\installer (in a normal Windows Explorer), + right-click on lyx.nsi and click "Compile NSIS Script". + You may have to to modify some of the directories in include\declarations.nsh + if case you used non-standard locations.