diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,7 +9,7 @@ project(okular VERSION 1.10.${RELEASE_SERVICE_VERSION_MICRO}) set(QT_REQUIRED_VERSION "5.9.0") -set(KF5_REQUIRED_VERSION "5.44.0") +set(KF5_REQUIRED_VERSION "5.45.0") set(OKULAR_UI "desktop" CACHE STRING "Which Okular user interface to build. Possible values: desktop, mobile, both. Default: desktop") @@ -30,7 +30,7 @@ set(QT_REQUIRED_VERSION "5.12.0") endif() -find_package(ECM 5.33.0 CONFIG REQUIRED) +find_package(ECM ${KF5_REQUIRED_VERSION} CONFIG REQUIRED) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH}) include(ECMInstallIcons) @@ -45,6 +45,7 @@ include(ECMAddTests) include(ECMAddAppIcon) include(CMakePackageConfigHelpers) +include(ECMSetupQtPluginMacroNames) set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_STANDARD_REQUIRED ON) @@ -67,11 +68,12 @@ find_package(Qt5 ${QT_REQUIRED_VERSION} CONFIG REQUIRED COMPONENTS AndroidExtras) endif() -if(NOT CMAKE_VERSION VERSION_LESS "3.10.0") - # CMake 3.9+ warns about automoc on files without Q_OBJECT, and doesn't know about other macros. - # 3.10+ lets us provide more macro names that require automoc. - list(APPEND CMAKE_AUTOMOC_MACRO_NAMES "OKULAR_EXPORT_PLUGIN") -endif() +ecm_setup_qtplugin_macro_names( + JSON_ARG2 + "OKULAR_EXPORT_PLUGIN" + CONFIG_CODE_VARIABLE + PACKAGE_SETUP_AUTOMOC_VARIABLES +) set(optionalComponents) if (ANDROID) diff --git a/Okular5Config.cmake.in b/Okular5Config.cmake.in --- a/Okular5Config.cmake.in +++ b/Okular5Config.cmake.in @@ -9,4 +9,6 @@ find_dependency(KF5Config @KF5_REQUIRED_VERSION@) find_dependency(KF5XmlGui @KF5_REQUIRED_VERSION@) +@PACKAGE_SETUP_AUTOMOC_VARIABLES@ + include("${CMAKE_CURRENT_LIST_DIR}/Okular5Targets.cmake")