# 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)
# 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)
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")
if(PACKAGE_VERSION MATCHES "^\([0-9]+\)\\.\([0-9]+\)\(\\.\([0-9]+\)\)?.*$")
set(LYX_MAJOR_VERSION ${CMAKE_MATCH_1})
set(LYX_MINOR_VERSION ${CMAKE_MATCH_2})
- set(LYX_PATCH_VERSION ${CMAKE_MATCH_4})
+ set(LYX_RELEASE_VERSION ${CMAKE_MATCH_4})
set(LYX_DIR_VER "LYX_DIR_${CMAKE_MATCH_1}${CMAKE_MATCH_2}x")
set(LYX_USERDIR_VER "LYX_USERDIR_${CMAKE_MATCH_1}${CMAKE_MATCH_2}x")
if ("${LYX_SUFFIX_VALUE}" MATCHES "")
FIND_PROGRAM(LYX_GITVERSION git)
#message(STATUS "gitversion = ${LYX_GITVERSION}")
-set(LYX_REVISION_VERSION ${LYX_PATCH_VERSION})
+set(LYX_REVISION_VERSION ${LYX_RELEASE_VERSION})
set(LYX_PACKAGE_RELEASE "1")
if(LYX_GITVERSION)
if (LYX_LOCALVERSIONING)
# previous svn.
# We use this value than also to set the package-patch-value
MATH(EXPR tmp_REVISION_VERSION "(${CMAKE_MATCH_1}+40000)")
- set(LYX_REVISION_VERSION "${LYX_PATCH_VERSION}-${tmp_REVISION_VERSION}git")
+ set(LYX_REVISION_VERSION "${LYX_RELEASE_VERSION}-${tmp_REVISION_VERSION}git")
set(ENABLE_DIST ON)
endif()
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}")
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}\"")
# 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})
message(STATUS "")
foreach(_v PACKAGE PACKAGE_VERSION
- PROGRAM_SUFFIX LYX_DATE LYX_DIR_VER LYX_USERDIR_VER
+ PROGRAM_SUFFIX 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})
add_subdirectory(lib/examples "${TOP_BINARY_DIR}/lib/examples")
add_subdirectory(sourcedoc "${TOP_BINARY_DIR}/sourcedoc")
add_subdirectory(development/autotests "${TOP_BINARY_DIR}/autotests")
+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:")