+ * Makefiles on Linux
+ cmake ../trunk
+
+ * Project files for QtCreator:
+ Open the trunk/CMakeLists.txt file and select the build folder
+ or create the files in the command line using the -G"CodeBlocks *" option, eg
+ cmake ../trunk -G"CodeBlocks - Unix Makefiles"
+
+ * Project files for Xcode
+ cmake ../trunk -GXcode
+
+ * Project files for Visual Studio 10
+ cmake ..\trunk -G"Visual Studio 10"
+
+ * NMake files for Visual Studio
+ cmake ..\trunk -G"NMake Makefiles"
+
+ * Makefiles for MinGW
+ cmake ..\trunk -G"MinGW Makefiles"
+
+
+ Daily work:
+
+ * Re-running cmake is simple
+ cmake .
+
+ * Adding new files
+ The cmake build system scans the directories, so no need to update any file,
+ just re-run cmake. Also the mocing rules are generated.
+
+ * Unused source code file
+ Because cmake scans the directories for *.cpp and *.h files it will also
+ add files to the build system which are not mentioned to build. To exclude
+ them change their ending and re-run cmake.
+
+
+
+
+Build options
+--------------
+
+ Options could be passed by the -D prefix when running cmake.
+ Available options will be listed on each cmake run.
+ -Dhelp=1 lists all available options:
+
+ # Available on all systems/compilers
+ -- LYX_CPACK = OFF : Use the CPack management (Implies LYX_INSTALL option)
+ -- LYX_INSTALL = OFF : Build install projects/rules (implies a bunch of other options)
+ -- LYX_NLS = ON : Use nls
+ -- LYX_ASPELL = OFF : Require aspell
+ -- LYX_ENCHANT = OFF : Require Enchant
+ -- LYX_HUNSPELL = OFF : Require Hunspell
+ -- LYX_DEVEL_VERSION = OFF : Build developer version
+ -- LYX_RELEASE = OFF : Build release version, build debug when disabled
+ -- LYX_PACKAGE_SUFFIX = ON : Use version suffix for packaging
+ -- LYX_PCH = OFF : Use precompiled headers
+ -- LYX_MERGE_FILES = OFF : Merge source files into one compilation unit
+ -- LYX_MERGE_REBUILD = OFF : Rebuild generated files from merged files build
+ -- LYX_QUIET = OFF : Don't generate verbose makefiles
+ -- LYX_INSTALL_PREFIX = OFF : Install path for LyX
+ -- LYX_EXTERNAL_LIBINTL = ON : Use external libintl
+
+ # GCC specific
+ -- LYX_PROFILE = OFF : Build profile version
+ -- LYX_EXTERNAL_BOOST = OFF : Use external boost
+ -- LYX_PROGRAM_SUFFIX = ON : Append version suffix to binaries
+ -- LYX_DEBUG_GLIBC = OFF : Enable libstdc++ debug mode
+ -- LYX_DEBUG_GLIBC_PEDANTIC = OFF : Enable libstdc++pedantic debug mode
+ -- LYX_STDLIB_DEBUG = OFF : Use debug stdlib
+ -- LYX_CONCEPT_CHECKS = OFF : Enable concept-checks
+
+ # MSVC specific
+ -- LYX_CONSOLE = ON : Show console on Windows
+ -- LYX_VLD = OFF : Use VLD with MSVC
+ -- LYX_WALL = OFF : Enable all warnings
+ -- LYX_CONFIGURE_CHECKS = OFF : Also run configure checks for MSVC
+ -- LYX_DEPENDENCIES_DOWNLOAD= OFF : Download precompiled 3rd party libraries for MSVC 10
+
+
+
+Using the merged files build
+-----------------------------
+
+ When the option 'LYX_MERGE_FILES' is used then for each library a files
+ is generated which includes all source files of this library, this speeds
+ up compilation about factor 5.
+
+ When you heavily work on one file you could comment out the relevant
+ define in the '_allinone_const.C' file, so only the file _allinone_touched.C'
+ file will be re-compiled again an again.
+
+
+ - Adding new files
+ When you add new files the merging files have to be rebuild:
+ cmake -DLYX_MERGE_REBUILD=1 .
+ Or start over by completely cleaning the build folder.
+
+ - Starting over with same configuration
+ Delete all files but CMakeCache.txt and call
+ cmake .
+
+
+
+Visual Studio C++
+------------------