]> git.lyx.org Git - lyx.git/blobdiff - CMakeLists.txt
Fixup 38f09c177b7: limit to paint rectangle
[lyx.git] / CMakeLists.txt
index 8403934eb49ed15940cd6a5c5ecc863656fe2306..d36eb710dc9f940545cbc5594fbde01efd87851c 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)
 
@@ -48,6 +48,9 @@ if(COMMAND cmake_policy)
                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)
@@ -257,7 +260,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")
@@ -458,12 +461,16 @@ else()
   set(SYSTEM_DATADIR "${CMAKE_INSTALL_PREFIX}")
 endif()
 
-if(CMAKE_COMPILER_IS_GNUCXX)
-  message(STATUS "CMAKE_COMPILER_IS_GNUCXX = ${CMAKE_COMPILER_IS_GNUCXX}")
-  set(suffixing ${LYX_PROGRAM_SUFFIX})
-else()
+if(NOT CMAKE_COMPILER_IS_GNUCXX)
   # Not a GCC compiler, programs do not have a suffix
   set(suffixing ${LYX_PACKAGE_SUFFIX})
+elseif(WIN32 AND MINGW)
+  # We want to use a suffix for the package in this case,
+  # even if not for the program
+  set(suffixing ${LYX_PACKAGE_SUFFIX})
+else()
+  message(STATUS "CMAKE_COMPILER_IS_GNUCXX = ${CMAKE_COMPILER_IS_GNUCXX}")
+  set(suffixing ${LYX_PROGRAM_SUFFIX})
 endif()
 
 # The define PACKAGE below allows lyx-executable to find its default configuration files
@@ -472,7 +479,6 @@ endif()
 #    get_default_user_support_dir()
 #    relative_system_support_dir()
 # in src/support/Package.cpp
-#
 if(suffixing)
        set(PACKAGE ${PACKAGE_BASE}${LYX_INSTALL_SUFFIX})
 else()
@@ -622,7 +628,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}")
@@ -638,14 +644,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}\"")
@@ -658,17 +664,9 @@ if(LYX_USE_QT MATCHES "QT5")
                        #message(FATAL_ERROR "Wrong Qt-Version")
                endif()
                macro (qt_use_modules lyxtarget)
-                       if (Qt5_POSITION_INDEPENDENT_CODE
-                               AND (CMAKE_VERSION VERSION_LESS 2.8.12
-                               AND (NOT CMAKE_CXX_COMPILER_ID STREQUAL "GNU"
-                                   OR CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0)))
-                               set_property(TARGET ${lyxtarget} PROPERTY POSITION_INDEPENDENT_CODE ${Qt5_POSITION_INDEPENDENT_CODE})
-                       endif()
                        foreach (_tg ${ARGN})
-                               find_package(Qt5${_tg} REQUIRED)
-                               include_directories(${Qt5${_tg}_INCLUDE_DIRS})
-                               set_property(TARGET ${lyxtarget} APPEND PROPERTY COMPILE_DEFINITIONS ${Qt5${_tg}_COMPILE_DEFINITIONS})
-                               target_link_libraries(${lyxtarget} ${Qt5${_tg}_LIBRARIES})
+                               find_package(Qt5${_tg} CONFIG REQUIRED)
+                               target_link_libraries(${lyxtarget} Qt5::${_tg})
                        endforeach()
                endmacro()
                macro (qt_add_resources)