]> git.lyx.org Git - lyx.git/blobdiff - CMakeLists.txt
Use QMessageBox for toggleWarning if possible
[lyx.git] / CMakeLists.txt
index b445ab7b92fc2b20a3f17513b843f30feb0da90e..ed0f4a47984cf696cd98efcba9134710c007debb 100644 (file)
@@ -4,7 +4,7 @@
 # Copyright (c) 2006-2011 Peter Kümmel, <syntheticpp@gmx.net>
 # Copyright (c) 2008-2011 Kornel Benko, <Kornel.Benko@berlin.de>
 
-cmake_minimum_required(VERSION 2.6.4)
+cmake_minimum_required(VERSION 3.1.0)
 
 set(LYX_PROJECT LyX)
 
@@ -47,6 +47,10 @@ if(COMMAND cmake_policy)
                # COMPILE_DEFINITIONS are not used yet. Enable new behavior.
                cmake_policy(SET CMP0043 NEW)
        endif()
+       cmake_policy(SET CMP0020 NEW)
+       if(POLICY CMP0075)
+               cmake_policy(SET CMP0075 OLD)
+       endif()
 endif()
 
 set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true)
@@ -260,7 +264,7 @@ if(NOT CXX11COMPILER_FOUND)
 endif()
 set(LYX_GCC11_MODE)
 if(UNIX OR MINGW)
-       if (CMAKE_CXX_COMPILER_ID MATCHES "^[cC]lang$")
+       if (CMAKE_CXX_COMPILER_ID MATCHES "^([cC]lang|AppleClang)$")
          # ignore the GCC_VERSION for clang
          # and use the resulting CXX11_STD_REGEX found in FindCXX11Compiler.cmake
          message(STATUS "Using clang")
@@ -625,7 +629,7 @@ endif()
 set(min_qt5_version "5.6")
 if(LYX_USE_QT MATCHES "AUTO")
        # try qt5 first
-       find_package(Qt5Core QUIET)
+       find_package(Qt5Core CONFIG QUIET)
        if(Qt5Core_FOUND)
                set(LYX_USE_QT "QT5" CACHE STRING "Valid qt version" FORCE)
                message(STATUS "Qt5Core_VERSION = ${Qt5Core_VERSION}")
@@ -641,14 +645,14 @@ if(LYX_USE_QT MATCHES "AUTO")
 endif()
 if(LYX_USE_QT MATCHES "QT5")
        # set QPA_XCB if QT uses X11
-       find_package(Qt5Core REQUIRED)
+       find_package(Qt5Core CONFIG REQUIRED)
        if (Qt5Core_FOUND)
-               find_package(Qt5Widgets REQUIRED)
+               find_package(Qt5Widgets CONFIG REQUIRED)
                if(APPLE)
-                       find_package(Qt5MacExtras REQUIRED)
+                       find_package(Qt5MacExtras CONFIG REQUIRED)
                endif()
-               find_package(Qt5X11Extras QUIET)
-               find_package(Qt5WinExtras QUIET)
+               find_package(Qt5X11Extras CONFIG QUIET)
+               find_package(Qt5WinExtras CONFIG QUIET)
                set(QTVERSION ${Qt5Core_VERSION})
                if (QTVERSION VERSION_LESS ${min_qt5_version})
                        message(STATUS "QTVERSION = \"${QTVERSION}\"")
@@ -660,8 +664,11 @@ if(LYX_USE_QT MATCHES "QT5")
                        # Subject: cmake compilation error
                        #message(FATAL_ERROR "Wrong Qt-Version")
                endif()
-               macro (qt_use_modules)
-                       qt5_use_modules(${ARGN})
+               macro (qt_use_modules lyxtarget)
+                       foreach (_tg ${ARGN})
+                               find_package(Qt5${_tg} CONFIG REQUIRED)
+                               target_link_libraries(${lyxtarget} Qt5::${_tg})
+                       endforeach()
                endmacro()
                macro (qt_add_resources)
                        qt5_add_resources(${ARGN})
@@ -698,7 +705,7 @@ endif()
 
 find_package(Magic)
 if(Magic_FOUND)
-       set(HAVE_MAGIC_H 1)
+  set(HAVE_MAGIC_H 1)
 endif()
 
 include_directories(${TOP_BINARY_DIR} ${TOP_SRC_DIR}/src)
@@ -1041,15 +1048,17 @@ if(LYX_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()
 
 message(STATUS)
 message(STATUS "Build params, switch LYX_* options by -DLYX_*=ON or OFF, LYX_* combos by -DLYX_*=value:")