]> git.lyx.org Git - lyx.git/blobdiff - CMakeLists.txt
Add testfiles-references to automake build: vcs_info_export moved to new directory...
[lyx.git] / CMakeLists.txt
index 48cc85a13c87b0a3e19e69f38ff59e1014155cdd..2fca8f5a2854f7e63251f5530f1dc530876928b2 100644 (file)
@@ -136,6 +136,7 @@ LYX_OPTION(ENABLE_URLTESTS  "Enable for URL tests" OFF ALL)
 LYX_OPTION(ENABLE_EXPORT_TESTS "Enable for export tests" OFF ALL)
 LYX_OPTION(ENABLE_KEYTESTS  "Enable for keytests" OFF ALL)
 LYX_OPTION(ASAN             "Use address sanitizer" OFF ALL)
+LYX_COMBO(USE_FILEDIALOG    "Use native or QT file dialog" QT NATIVE)
 LYX_COMBO(USE_QT            "Use Qt version as frontend" AUTO QT4 QT5)
 #LYX_OPTION(3RDPARTY_BUILD   "Build 3rdparty libs" OFF ALL)
 LYX_OPTION(EXTERNAL_Z       "OFF := Build 3rdparty lib zlib" ON ALL)
@@ -153,7 +154,7 @@ LYX_OPTION(STDLIB_DEBUG         "Use debug stdlib" OFF GCC)
 LYX_OPTION(PROFILE              "Build with options for gprof" OFF GCC)
 
 # MSVC specific
-LYX_OPTION(CONSOLE               "Show console on Windows, enforce with =FORCE" ON MSVC)
+LYX_OPTION(CONSOLE               "Show console on Windows" ON MSVC)
 LYX_OPTION(VLD                   "Use VLD with MSVC" OFF MSVC)
 LYX_OPTION(WALL                  "Enable all warnings" OFF MSVC)
 LYX_OPTION(DEPENDENCIES_DOWNLOAD "Download dependencies for MSVC 10" OFF MSVC)
@@ -188,11 +189,6 @@ if(LYX_INSTALL)
         if(WIN32 AND NOT MINGW)
                set(LYX_HUNSPELL ON)
        endif()
-       if(LYX_CONSOLE MATCHES "FORCE")
-               set(LYX_CONSOLE ON)
-       else()
-               set(LYX_CONSOLE OFF)
-       endif()
        set(LYX_PACKAGE_SUFFIX ON)
        if(NOT LYX_DEBUG)
                set(LYX_RELEASE ON)
@@ -359,12 +355,14 @@ endforeach(_c_l)
 FIND_PROGRAM(LYX_GITVERSION git)
 #message(STATUS "gitversion = ${LYX_GITVERSION}")
 set(LYX_REVISION_VERSION ${LYX_PATCH_VERSION})
+set(LYX_PACKAGE_RELEASE "1")
 if(LYX_GITVERSION)
   if (LYX_LOCALVERSIONING)
     # Find the revision number and for later use
     EXECUTE_PROCESS(COMMAND ${LYX_GITVERSION} describe --match 2.0.0 HEAD
-      WORKING_DIRECTORY "${TOP_SRC_DIR}" OUTPUT_VARIABLE LYX_PACKAGE_RELEASE OUTPUT_STRIP_TRAILING_WHITESPACE)
-    if (LYX_PACKAGE_RELEASE MATCHES "^2\\.0\\.0\\-\([0-9]+\)\\-.*$")
+      WORKING_DIRECTORY "${TOP_SRC_DIR}" OUTPUT_VARIABLE tmp_LYX_PACKAGE_RELEASE OUTPUT_STRIP_TRAILING_WHITESPACE)
+    if (tmp_LYX_PACKAGE_RELEASE MATCHES "^2\\.0\\.0\\-\([0-9]+\)\\-\(.*\)$")
+      set(LYX_PACKAGE_RELEASE ${CMAKE_MATCH_2})
       # We will add offset of 40000 to get appropriate value to
       # previous svn.
       # We use this value than also to set the package-patch-value
@@ -384,6 +382,7 @@ if(LYX_PROGRAM_SUFFIX AND NOT (APPLE AND LYX_BUNDLE))
 endif()
 set(_lyx "${PACKAGE_BASE}${PROGRAM_SUFFIX}")
 set(_tex2lyx tex2lyx${PROGRAM_SUFFIX})
+set(_convert lyxconvert${PROGRAM_SUFFIX})
 
 add_custom_target(lyx_version ALL
   COMMAND ${CMAKE_COMMAND} -DTOP_SRC_DIR=${TOP_SRC_DIR} -DTOP_CMAKE_PATH=${TOP_CMAKE_PATH} -DTOP_BINARY_DIR=${TOP_BINARY_DIR} -DLYX_DATE=${LYX_DATE} -P ${TOP_SCRIPT_PATH}/LyXGetVersion.cmake
@@ -416,8 +415,8 @@ if(LYX_BUNDLE)
                set(OSX_BUNDLE_DIRS "Resources;Resources;Resources")
 
                # Process Info.plist and lyxrc.dist
+               # See development/cmake/Install.cmake
                configure_file("${CMAKE_CURRENT_SOURCE_DIR}/development/MacOSX/Info.plist.in" "${CMAKE_CURRENT_BINARY_DIR}/Info.plist")
-               configure_file("${CMAKE_CURRENT_SOURCE_DIR}/development/MacOSX/lyxrc.dist.in" "${CMAKE_CURRENT_BINARY_DIR}/lyxrc.dist")
 
                set(LYX_BUILD_BUNDLE MACOSX_BUNDLE)
                set(LYX_DATA_SUBDIR ${LYX_BUNDLE_NAME}.app/Contents/Resources/ CACHE STRING "Bundle Contents dir" FORCE)
@@ -524,13 +523,15 @@ else()
 endif()
 mark_as_advanced(LYX_MAN_DIR)
 
-if(LYX_INSTALL AND WIN32)
-       message(STATUS "Configuring NSIS files")
-       configure_file(development/Win32/packaging/installer/lyx.nsi.cmake ${CMAKE_BINARY_DIR}/installer/lyx.nsi @ONLY)
-       configure_file(development/Win32/packaging/installer/settings.nsh.cmake ${CMAKE_BINARY_DIR}/installer/settings-cmake.nsh @ONLY)
-       configure_file(development/Win32/packaging/installer/include/declarations.nsh.cmake ${CMAKE_BINARY_DIR}/installer/declarations-cmake.nsh @ONLY)
-       message(STATUS "NSIS files are created in ${CMAKE_BINARY_DIR}/installer")
-endif()
+# The Win installer cannot be built by CMake because one needs to install plugins for NSIS
+# see the Readme.txt of the installer
+#if(LYX_INSTALL AND WIN32)
+#      message(STATUS "Configuring NSIS files")
+#      configure_file(development/Win32/packaging/installer/lyx.nsi.cmake ${CMAKE_BINARY_DIR}/installer/lyx.nsi @ONLY)
+#      configure_file(development/Win32/packaging/installer/settings.nsh.cmake ${CMAKE_BINARY_DIR}/installer/settings-cmake.nsh @ONLY)
+#      configure_file(development/Win32/packaging/installer/include/declarations.nsh.cmake ${CMAKE_BINARY_DIR}/installer/declarations-cmake.nsh @ONLY)
+#      message(STATUS "NSIS files are created in ${CMAKE_BINARY_DIR}/installer")
+#endif()
 
 if(NOT GROUP_CODE)
        #set(GROUP_CODE "The Golden Code")
@@ -693,7 +694,8 @@ endif()
 
 find_package(Magic)
 if(Magic_FOUND)
-       set(HAVE_MAGIC_H 1)
+  set(HAVE_MAGIC_H 1)
+  include_directories(${Magic_INCLUDE_DIR})
 endif()
 
 include_directories(${TOP_BINARY_DIR} ${TOP_SRC_DIR}/src)
@@ -795,7 +797,12 @@ else()
 endif()
 
 if(LYX_USE_STD_REGEX)
-  # Nothing to do
+  # Set only include path.
+  # Use internal boost, which is known to exist
+  # we don't need any libraries
+  set(Lyx_Boost_Libraries)
+  add_definitions(-DBOOST_USER_CONFIG=<config.h>)
+  include_directories(${TOP_SRC_DIR}/3rdparty/boost)
 else()
   # Using boost-regex
   if(LYX_EXTERNAL_BOOST)
@@ -1028,18 +1035,21 @@ if(LYX_INSTALL)
                endif()
                add_subdirectory(${LYX_CMAKE_DIR}/doc "${TOP_BINARY_DIR}/doc")
        endif()
-       include(../Install)
 endif()
+include(../Install)
 
+# By running the URL tests first, time can be saved when running the ctests in
+# parallel since the URL tests take a long time to run (e.g. 10 minutes).
+if(LYX_ENABLE_URLTESTS)
+       add_subdirectory(development/checkurls "${TOP_BINARY_DIR}/checkurls")
+endif()
 add_subdirectory(src "${TOP_BINARY_DIR}/src")
 add_subdirectory(lib/lyx2lyx "${TOP_BINARY_DIR}/lyx2lyx")
 add_subdirectory(lib/scripts "${TOP_BINARY_DIR}/scripts")
 add_subdirectory(lib/examples "${TOP_BINARY_DIR}/lib/examples")
 add_subdirectory(sourcedoc "${TOP_BINARY_DIR}/sourcedoc")
 add_subdirectory(development/autotests "${TOP_BINARY_DIR}/autotests")
-if(LYX_ENABLE_URLTESTS)
-       add_subdirectory(development/checkurls "${TOP_BINARY_DIR}/checkurls")
-endif()
+add_subdirectory(development/batchtests "${TOP_BINARY_DIR}/batchtests")
 
 message(STATUS)
 message(STATUS "Build params, switch LYX_* options by -DLYX_*=ON or OFF, LYX_* combos by -DLYX_*=value:")