========================= Building LyX with CMake ========================= July, 2007 All systems =========== * CMake 2.4 or CVS version from www.cmake.org * Install Qt 4 and make sure qmake 4 is found (add the folder with qmake to the environment variable PATH). * Faster build process: with file merging enabled compilation is up to 5 times faster: '-Dmerge=1'. To force a complete regeneration of the created files use '-Dmerge_rebuild=1'. Windows only ============= Install the windows supplementary modules * as described in INSTALL.scons * install win32libs with the 'KDE on Windows' installer http://download.cegit.de/kde-windows/installer/ - use the msvc packages - a release version of Qt is also available by the installer If cmake couldn't find these modules set GNUWIN32_DIR, eg. -DGNUWIN32_DIR=c:\gnuwin32. By default cmake searches in your program folder Building Visual C++ 2005 project files -------------------------------------- * install Visual C++ 2005 * install Platform SDK 2005, "Core" and "Web Workshop" * add include and library paths of the SDK to the IDE search paths. Menu entry: Tools->Options->'VC++ directories'->'Library files' and 'Include files' * create a build directory, e.g. ..\trunk\..\build * call in the build directory 'cmake ..\trunk\development\cmake' * start lyx.sln * Warnings: The default warning level of the msvc cmake builds is /W3. To enable /W4 use '-DWALL=1 ' and '-DDISABLEWALL=1' switches back to to /W3, To disable a specific warning add it to MSVC_W_DISABLE in cmake/CMakeLists.txt. To make the warning an error add it to MSVC_W_ERROR. * Memory leak detection For MSVC the usage of 'Visual Leak Detection' could be enabled (http://dmoulding.googlepages.com/vld): -Dvld=1 Building vld requires the 'Debugging Tools For Windows' (~16MB) http://www.microsoft.com/whdc/devtools/debugging/default.mspx Eventually you have to copy dbghelp.dll from your Visual Studio Common7\IDE folder into the binary directory. 'vld.ini' is part of lyx.proj where you can configure vld. The docu for vld could be found in development/Win32/vld, or http://www.codeproject.com/tools/visualleakdetector.asp Some tips: * rename Microsoft Visual Studio 8\VC\vcpackages\feacp.dll to disable Intellisense * the Release build links much faster * for the 'Debug' and 'Release' build all precompiled headers are enabled to compile without pch (non file merge mode) This is usefull to check if all necessary headers are included. * use 'MinSizeRel' which only precompiles the STL and Boost headers * use 'RelWithDebInfo' which does not use any precompiled headers GCC/Windows (Win2k only works with MSYS, XP?) ---------------------------------------------- * create a build directory, e.g. .../trunk/../build * call: export QMAKESPEC=win32-g++ (MSYS) or set QMAKESPEC=win32-g++ (CMD) * call in the build directory 'cmake ..\trunk\development\cmake' Building with GCC/Linux ------------------------ * create a build directory, e.g. .../trunk/../build * call in the build directory 'cmake ../trunk/development/cmake' * compiler and linker options could be suppressd by '-Dquiet=1' Building with Xcode/Mac ----------------------- * create a build directory, e.g. .../trunk/../build * call in the build directory 'cmake .../trunk/development/cmake -G Xcode' * open .../trunk/../build/lyx-qt4.xcodeproj Some tips: * Xcode prefers UTF8 when opening source files, though LyX usually uses Latin1. To fix that select all source files in Xcode and click "Get Info" in the context menu. Change the encoding to Latin1. * You can run and debug LyX from Xcode. For LyX to find its resources, there are two possibilities: a) Put a resource directory, e.g. a link to the lib directory of the source tree, at .../trunk/../build/bin/Resources b) Select the lyx-qt4 executable in Xcode, click on "Get Info" in the context menu and add "-sysdir a_valid_LyX_resource_directory" pointing e.g. to a valid Contents/Resources of a LyX.app directory. * LyX on Mac doesn't look for fonts in the resource directory if the executable is not in an .app bundle. Instead you have to create a symbolic link to the fonts directory in the place where the executable is: ln -s .../trunk/lib/fonts .../trunk/../build/bin/Debug/ If you don't do that math character will not show up correctly. * CMake properly finds the Qt4 library bundles from Trolltech's binary Qt4 package for Mac. So no need to compile Qt on your own. To generate other build files call 'cmake' which shows a list of possibilities. The build process tries to find aspell on Windows in %ProgramFiles%/GnuWin32/ and in /usr/ or in /usr/local under Linux. If it could not find aspell, spell checking will be disabled.