]> git.lyx.org Git - lyx.git/blobdiff - CMakeLists.txt
Cmake export tests: Handle default output format 'pdf2' in manuals like 'default'
[lyx.git] / CMakeLists.txt
index a25f5480b63cd604a6d936200ec791fc770f1c07..a5b85132b21481c2cc8d233cc418854ce9402d24 100644 (file)
@@ -10,8 +10,9 @@ set(LYX_PROJECT LyX)
 
 enable_testing()
 
-get_filename_component(lyx_dir_readme ${CMAKE_SOURCE_DIR}/README ABSOLUTE)
+get_filename_component(lyx_dir_readme ${CMAKE_SOURCE_DIR}/README REALPATH) # Resolve symlinks
 get_filename_component(TOP_SRC_DIR ${lyx_dir_readme} PATH)
+message(STATUS "TOP_SRC_DIR = ${TOP_SRC_DIR}")
 
 set(LYX_CMAKE_DIR "development/cmake")
 set(TOP_CMAKE_PATH "${TOP_SRC_DIR}/${LYX_CMAKE_DIR}")
@@ -40,6 +41,9 @@ if(COMMAND cmake_policy)
        cmake_policy(SET CMP0005 OLD)
        # Installing MACOSX_BUNDLE targets requires a BUNDLE DESTINATION
        cmake_policy(SET CMP0006 NEW)
+       if(POLICY CMP0020)
+               cmake_policy(SET CMP0020 OLD)
+       endif()
        if(POLICY CMP0028)
                cmake_policy(SET CMP0028 OLD)
        endif()
@@ -47,7 +51,6 @@ if(COMMAND cmake_policy)
                # COMPILE_DEFINITIONS are not used yet. Enable new behavior.
                cmake_policy(SET CMP0043 NEW)
        endif()
-       cmake_policy(SET CMP0020 OLD)
 endif()
 
 set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true)
@@ -206,10 +209,18 @@ endif()
 
 if(LYX_DEPENDENCIES_DOWNLOAD)
        message(STATUS)
-       set(LYX_DEPENDENCIES_DIR ${TOP_BINARY_DIR}/msvc2010-deps)
-       message(STATUS "Using downloaded dependencies in ${LYX_DEPENDENCIES_DIR}")
-       set(deps_files lyx20-deps-msvc2010-x86.zip)
-       set(deps_server http://downloads.sourceforge.net/project/lyx/Win_installers/Dependencies)
+    if(MSVC12)
+        set(LYX_DEPENDENCIES_DIR ${TOP_BINARY_DIR}/msvc2013-deps)
+        set(deps_files lyx-windows-deps-msvc2013.zip)
+        set(deps_server http://ftp.lyx.de/LyX-Windows-Deps)
+        set(GNUWIN32_DIR ${LYX_DEPENDENCIES_DIR}/lyx-windows-deps-msvc2013)
+    else()
+        set(LYX_DEPENDENCIES_DIR ${TOP_BINARY_DIR}/msvc2010-deps)
+           set(deps_files lyx20-deps-msvc2010-x86.zip)
+           set(deps_server http://downloads.sourceforge.net/project/lyx/Win_installers/Dependencies)
+        set(GNUWIN32_DIR ${LYX_DEPENDENCIES_DIR}/deps20)
+    endif()
+    message(STATUS "Using downloaded dependencies in ${LYX_DEPENDENCIES_DIR}")
        foreach(it ${deps_files})
                set(already_downloaded already_downloaded-NOTFOUND CACHE PATH "downloaded" FORCE)
                find_file(already_downloaded ${it} "${LYX_DEPENDENCIES_DIR}/download")
@@ -226,11 +237,6 @@ if(LYX_DEPENDENCIES_DOWNLOAD)
                                      WORKING_DIRECTORY ${LYX_DEPENDENCIES_DIR})
                endif()
        endforeach()
-       set(GNUWIN32_DIR ${LYX_DEPENDENCIES_DIR}/deps20)
-    if(MSVC12)
-        # handle error in msvc12 when linking against msvc10 libs
-        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /vd2")
-    endif()
 endif()
 
 
@@ -253,6 +259,10 @@ if(UNIX OR MINGW)
                # <regex> in gcc is unusable in versions less than 4.9.0
                # see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53631
                set(LYX_USE_STD_REGEX 0)
+       else()
+               if (LYX_ENABLE_CXX11)
+                       set(LYX_USE_STD_REGEX 1)
+               endif()
        endif()
        if (LYX_ENABLE_CXX11)
                find_package(CXX11Compiler)
@@ -566,6 +576,9 @@ if(LYX_USE_QT MATCHES "QT5")
                        qt5_wrap_ui(${ARGN})
                endmacro()
                message(STATUS "Found Qt-Version ${QTVERSION}")
+               if(WIN32)
+                       set(LYX_QTMAIN_LIBRARY ${Qt5Core_QTMAIN_LIBRARIES})
+               endif()
        endif()
 elseif(LYX_USE_QT MATCHES "QT4")
        if(LYX_XMINGW)
@@ -581,6 +594,9 @@ elseif(LYX_USE_QT MATCHES "QT4")
        macro (qt_wrap_uifiles)
                qt4_wrap_ui(${ARGN})
        endmacro()
+       if(WIN32)
+               set(LYX_QTMAIN_LIBRARY ${QT_QTMAIN_LIBRARIES})
+       endif()
 else()
   message(FATAL_ERROR "Unhandled value for LYX_USE_QT (${LYX_USE_QT})")
 endif()
@@ -685,9 +701,10 @@ endif()
 
 
 if(WIN32)
-       if(NOT LYX_CONSOLE)
+       if(LYX_CONSOLE)
+               set(LYX_QTMAIN_LIBRARY)
+       else()
                set(WIN32_CONSOLE WIN32)
-               set(LYX_QTMAIN_LIBRARY ${QT_QTMAIN_LIBRARY})
        endif()
        if(MSVC)
                add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNOMINMAX)
@@ -854,6 +871,10 @@ if(QTVERSION MATCHES "^([0-9]+)\\.([0-9]+)\\.([0-9]+).*")
        MATH(EXPR QT4_VERSION "(${CMAKE_MATCH_1}<<16)|(${CMAKE_MATCH_2}<<8)|${CMAKE_MATCH_3}")
 endif()
 
+if (NOT HAVE_REGEX)
+       set(LYX_USE_STD_REGEX 0)
+endif()
+
 
 set (cmd ${CMAKE_CTEST_COMMAND})
 if (MSVC)