]> git.lyx.org Git - lyx.git/blobdiff - CMakeLists.txt
FindAdv: next 3 tests working
[lyx.git] / CMakeLists.txt
index 72a8cd7215644bc54607b58017a05e25b174f84f..552654b91848911b7ea94a8f53bd709558f2e5f7 100644 (file)
@@ -151,6 +151,7 @@ LYX_COMBO(USE_IPO           "Interprocedural optimization" OFF AUTO ON)
 #LYX_OPTION(3RDPARTY_BUILD   "Build 3rdparty libs" OFF ALL)
 LYX_OPTION(DISABLE_CALLSTACK_PRINTING "do not print a callstack when crashing" OFF ALL)
 LYX_OPTION(EXTERNAL_Z       "OFF := Build 3rdparty lib zlib" ON ALL)
+LYX_OPTION(EXTERNAL_DTL     "OFF := Build 3rdparty commands dt2dv and dv2dt" ON ALL)
 LYX_OPTION(EXTERNAL_ICONV   "OFF := Build 3rdparty lib iconvlib" ON ALL)
 LYX_OPTION(EXTERNAL_HUNSPELL "OFF := Build 3rdparty lib hunspelllib" ON ALL)
 LYX_COMBO(EXTERNAL_MYTHES   "OFF := Build 3rdparty lib mytheslib" AUTO OFF ON)
@@ -190,6 +191,11 @@ if (LYX_ENABLE_VALGRIND_TESTS)
                message(FATAL_ERROR "Cannot use valgrind tests, executable valgrind is missing. Please disable LYX_ENABLE_VALGRIND_TESTS")
        endif()
 endif()
+if (LYX_DEBUG_GLIBC OR LYX_DEBUG_GLIBC_PEDANTIC OR LYX_STDLIB_DEBUG)
+  if (LYX_EXTERNAL_BOOST)
+    message(FATAL_ERROR "Using external boost not compatible with debug mode for stdlib")
+  endif()
+endif()
 
 if(LYX_DMG)
        set(LYX_BUNDLE ON)
@@ -393,6 +399,7 @@ foreach(_c_l ${_config_lines} )
                        if (NOT LYX_RELEASE_PATCH)
                                set(LYX_RELEASE_PATCH 0)
                        endif()
+                       set(LYX_VERSION "${LYX_MAJOR_VERSION}.${LYX_MINOR_VERSION}")
                        if ("${LYX_SUFFIX_VALUE}" MATCHES "")
                          set(LYX_INSTALL_SUFFIX "${LYX_MAJOR_VERSION}.${LYX_MINOR_VERSION}")
                        else()
@@ -574,22 +581,27 @@ if(NOT LYX_DATA_SUBDIR)
        endif()
 endif()
 
-set(LYX_ABS_INSTALLED_DATADIR "${CMAKE_INSTALL_PREFIX}")
+set(LYX_ABS_INSTALLED_DATADIR "${CMAKE_INSTALL_PREFIX}/${LYX_DATA_SUBDIR}")
 get_locale_destination(LYX_LOCALEDIR)
 set(LYX_ABS_INSTALLED_LOCALEDIR "${CMAKE_INSTALL_PREFIX}/${LYX_LOCALEDIR}")
 set(LYX_ABS_TOP_SRCDIR "${TOP_SRC_DIR}")
 
 if(LYX_BUNDLE AND APPLE)
-       set(LYX_MAN_DIR "${LYX_DATA_SUBDIR}" CACHE STRING "Install location for man pages.")
+       set(LYX_MAN_DIR_tmp "${LYX_DATA_SUBDIR}")
 else()
        if(WIN32)
-               set(LYX_MAN_DIR "${CMAKE_BINARY_DIR}/usr/local/man" CACHE STRING "Install location for man pages.")
+               set(LYX_MAN_DIR_tmp "${CMAKE_BINARY_DIR}/usr/local/man/")
        elseif(UNIX)
-               set(LYX_MAN_DIR "${CMAKE_INSTALL_PREFIX}/share/man" CACHE STRING "Install location for man pages.")
+               set(LYX_MAN_DIR_tmp "${CMAKE_INSTALL_PREFIX}/share/man/")
        else()
-               set(LYX_MAN_DIR "${CMAKE_INSTALL_PREFIX}/man" CACHE STRING "Install location for man pages.")
+               set(LYX_MAN_DIR_tmp "${CMAKE_INSTALL_PREFIX}/man/")
        endif()
 endif()
+if (NOT LYX_MAN_DIR_tmp EQUAL "${LYX_MAN_DIR}")
+       unset(LYX_MAN_DIR CACHE)
+       set(LYX_MAN_DIR "${LYX_MAN_DIR_tmp}" CACHE STRING "Install location for man pages.")
+endif()
+unset(LYX_MAN_DIR_tmp)
 mark_as_advanced(LYX_MAN_DIR)
 
 # The Win installer cannot be built by CMake because one needs to install plugins for NSIS
@@ -650,7 +662,12 @@ else()
        set(library_type STATIC)
 endif()
 
-if(NOT MSVC)
+if(MSVC)
+  if (CXX11_FLAG MATCHES "\\+\\+([0-9]+)")
+    set(CMAKE_CXX_STANDARD ${CMAKE_MATCH_1})
+    message(STATUS "CMAKE_CXX_STANDARD set to ${CMAKE_CXX_STANDARD}")
+  endif()
+else()
        if(NOT LYX_QUIET)
                set(CMAKE_VERBOSE_MAKEFILE ON)
        endif()
@@ -664,7 +681,14 @@ if(NOT MSVC)
          message(STATUS "CMAKE_CXX_STANDARD set to ${CMAKE_CXX_STANDARD}")
        endif()
        if(LYX_STDLIB_DEBUG)
-               set(LYX_CXX_FLAGS "${LYX_CXX_FLAGS} -D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC")
+         set(LYX_CXX_FLAGS "${LYX_CXX_FLAGS} -D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC")
+        else()
+          if(LYX_DEBUG_GLIBC)
+            set(LYX_CXX_FLAGS "${LYX_CXX_FLAGS} -D_GLIBCXX_DEBUG")
+          endif()
+          if(LYX_DEBUG_GLIBC_PEDANTIC)
+            set(LYX_CXX_FLAGS "${LYX_CXX_FLAGS} -D_GLIBCXX_DEBUG_PEDANTIC")
+          endif()
        endif()
        set(CMAKE_CXX_FLAGS       "${LYX_CXX_FLAGS} -fno-strict-aliasing " CACHE STRING "Set CXX flags" FORCE)
        set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g3 -D_DEBUG" CACHE STRING "Set debug flags" FORCE)
@@ -880,6 +904,10 @@ else()
   add_subdirectory(3rdparty/zlib)
 endif()
 
+if(NOT LYX_EXTERNAL_DTL)
+  add_subdirectory(3rdparty/dtl)
+endif()
+
 if(LYX_USE_STD_REGEX)
   # Set only include path.
   # Use internal boost, which is known to exist
@@ -938,7 +966,7 @@ endif()
 
 message(STATUS "")
 foreach(_v PACKAGE PACKAGE_VERSION
-       PROGRAM_SUFFIX LYX_DIR_VER LYX_USERDIR_VER
+       PROGRAM_SUFFIX LYX_VERSION LYX_DIR_VER LYX_USERDIR_VER
        LYX_ABS_TOP_SRCDIR
        LYX_ABS_INSTALLED_DATADIR LYX_ABS_INSTALLED_LOCALEDIR LYX_INSTALL_SUFFIX)
        if(NOT DEFINED ${_v})
@@ -1049,14 +1077,6 @@ if(MSVC)
 endif()
 
 
-if(LYX_DEBUG_GLIBC)
-       set(_GLIBCXX_DEBUG ON)
-endif()
-
-if(LYX_DEBUG_GLIBC_PEDANTIC)
-       set(_GLIBCXX_DEBUG_PEDANTIC ON)
-endif()
-
 # Xcode compiler
 if (CMAKE_GENERATOR MATCHES Xcode)
        if (XCODE_VERSION VERSION_LESS "5.0")