diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -23,6 +23,7 @@ include(ECMAddQch) include(ECMQtDeclareLoggingCategory) include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) +include(ECMSetupQtPluginMacroNames) option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF) add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)") @@ -57,25 +58,12 @@ ######################################################################### -# TODO: create ECM macro for automoc & json things -set(KPackage_AUTOMOC_MACRO_NAMES_WITH_JSON_ARG2 "K_EXPORT_KPACKAGE_PACKAGE_WITH_JSON") -set(KPackage_AUTOMOC_MACRO_NAMES - ${KPackage_AUTOMOC_MACRO_NAMES_WITH_JSON_ARG2} +ecm_setup_qtplugin_macro_names( + JSON_ARG2 + "K_EXPORT_KPACKAGE_PACKAGE_WITH_JSON" + CONFIG_CODE_VARIABLE + PACKAGE_SETUP_AUTOMOC_VARIABLES ) -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 ${KPackage_AUTOMOC_MACRO_NAMES}) -endif() -if(NOT CMAKE_VERSION VERSION_LESS "3.9.0") - foreach(macro_name ${KPackage_AUTOMOC_MACRO_NAMES_WITH_JSON_ARG2}) - # tell automoc how to find names of plugin metadata files - list(APPEND CMAKE_AUTOMOC_DEPEND_FILTERS - "${macro_name}" - "[\n^][ \t]*${macro_name}[ \t\n]*\\([^,]*,[ \t\n]*\"([^\"]+)\"" - ) - endforeach() -endif() add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0) diff --git a/KF5PackageConfig.cmake.in b/KF5PackageConfig.cmake.in --- a/KF5PackageConfig.cmake.in +++ b/KF5PackageConfig.cmake.in @@ -13,19 +13,6 @@ include(CMakeFindDependencyMacro) find_dependency(KF5CoreAddons "@KF5_DEP_VERSION@") -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 @KPackage_AUTOMOC_MACRO_NAMES@) -endif() -if(NOT CMAKE_VERSION VERSION_LESS "3.9.0") - foreach(macro_name @KPackage_AUTOMOC_MACRO_NAMES_WITH_JSON_ARG2@) - # tell automoc how to find names of plugin metadata files - list(APPEND CMAKE_AUTOMOC_DEPEND_FILTERS - "${macro_name}" - "[\n^][ \t]*${macro_name}[ \t\n]*\\([^,]*,[ \t\n]*\"([^\"]+)\"" - ) - endforeach() -endif() +@PACKAGE_SETUP_AUTOMOC_VARIABLES@ include("${CMAKE_CURRENT_LIST_DIR}/KF5PackageMacros.cmake")