Warning, /frameworks/kauth/src/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # This file handles all the logic for compiling KAuth's backends 0002 include(ConfigureChecks.cmake) 0003 0004 # Configure a small file to tell BackendsManager what to use 0005 configure_file(BackendsConfig.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/BackendsConfig.h) 0006 0007 set(KAUTH_INSTALL_INCLUDEDIR "${KDE_INSTALL_INCLUDEDIR_KF}/KAuth") 0008 set(KAUTHCORE_INSTALL_INCLUDEDIR "${KDE_INSTALL_INCLUDEDIR_KF}/KAuthCore") 0009 0010 ecm_create_qm_loader(KAuth_QM_LOADER kauth6_qt) 0011 0012 set(kauthdebug_SRCS) 0013 ecm_qt_declare_logging_category(kauthdebug_SRCS 0014 HEADER kauthdebug.h 0015 IDENTIFIER KAUTH 0016 CATEGORY_NAME kf.auth 0017 OLD_CATEGORY_NAMES kf5.kauth 0018 DESCRIPTION "KAuth" 0019 EXPORT KAUTH 0020 ) 0021 0022 if(NOT KAUTH_BUILD_CODEGENERATOR_ONLY) 0023 add_library(KF6AuthCore) 0024 add_library(KF6::AuthCore ALIAS KF6AuthCore) 0025 set_target_properties(KF6AuthCore PROPERTIES 0026 VERSION ${KAUTH_VERSION} 0027 SOVERSION ${KAUTH_SOVERSION} 0028 EXPORT_NAME AuthCore 0029 ) 0030 0031 target_sources(KF6AuthCore PRIVATE 0032 action.cpp 0033 actionreply.cpp 0034 executejob.cpp 0035 AuthBackend.cpp 0036 BackendsManager.cpp 0037 HelperProxy.cpp 0038 helpersupport.cpp 0039 ${kauthdebug_SRCS} 0040 backends/fake/FakeBackend.cpp 0041 backends/fakehelper/FakeHelperProxy.cpp 0042 ${KAuth_QM_LOADER} 0043 ) 0044 0045 ecm_generate_export_header(KF6AuthCore 0046 BASE_NAME KAuthCore 0047 GROUP_BASE_NAME KF 0048 VERSION ${KF_VERSION} 0049 USE_VERSION_HEADER 0050 VERSION_BASE_NAME KAuth 0051 DEPRECATED_BASE_VERSION 0 0052 DEPRECATION_VERSIONS 0053 EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT} 0054 ) 0055 target_link_libraries(KF6AuthCore PUBLIC Qt6::Core Qt6::Gui KF6::CoreAddons) # for KJob 0056 target_link_libraries(KF6AuthCore PRIVATE Qt6::DBus) 0057 0058 target_include_directories(KF6AuthCore INTERFACE 0059 "$<INSTALL_INTERFACE:${KAUTHCORE_INSTALL_INCLUDEDIR};${KAUTH_INSTALL_INCLUDEDIR}>" 0060 ) 0061 install(TARGETS KF6AuthCore EXPORT KF6AuthTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS}) 0062 0063 ecm_generate_headers(KAuthCore_CamelCase_HEADERS 0064 HEADER_NAMES 0065 Action 0066 ActionReply 0067 ExecuteJob 0068 HelperSupport 0069 0070 PREFIX KAuth 0071 REQUIRED_HEADERS KAuthCore_HEADERS 0072 ) 0073 install(FILES 0074 ${CMAKE_CURRENT_BINARY_DIR}/kauthcore_export.h 0075 ${KAuthCore_HEADERS} 0076 DESTINATION ${KAUTHCORE_INSTALL_INCLUDEDIR}/kauth # C++ namespace 0077 COMPONENT Devel 0078 ) 0079 install(FILES 0080 ${KAuthCore_CamelCase_HEADERS} 0081 DESTINATION ${KAUTHCORE_INSTALL_INCLUDEDIR}/KAuth # C++ namespace 0082 COMPONENT Devel 0083 ) 0084 endif() 0085 0086 # KAuth policy generator executable 0087 0088 # Compile only if fake backend has not been selected 0089 0090 if (NOT "${KAUTH_BACKEND_NAME}" STREQUAL "FAKE") 0091 # KAUTH_POLICY_GEN_SRCS has been generated from ConfigureChecks.cmake 0092 add_executable(kauth-policy-gen ${KAUTH_POLICY_GEN_SRCS}) 0093 add_executable(KF6::kauth-policy-gen ALIAS kauth-policy-gen) 0094 if (APPLE) 0095 include(ECMMarkNonGuiExecutable) 0096 ecm_mark_nongui_executable(kauth-policy-gen) 0097 endif () 0098 0099 # KAUTH_POLICY_GEN_LIBRARIES has been generated from ConfigureChecks.cmake 0100 target_link_libraries( kauth-policy-gen PRIVATE ${KAUTH_POLICY_GEN_LIBRARIES} ) 0101 0102 install( TARGETS kauth-policy-gen EXPORT KF6AuthToolsTargets DESTINATION ${KAUTH_HELPER_INSTALL_DIR}) 0103 endif () 0104 0105 # KAuth backend plugin 0106 0107 if (NOT "${KAUTH_BACKEND_NAME}" STREQUAL "FAKE" AND NOT KAUTH_BUILD_CODEGENERATOR_ONLY) 0108 # KAUTH_BACKEND_SRCS has been set from ConfigureChecks.cmake 0109 # KAuth::AuthBackend is not exported 0110 add_library(kauth_backend_plugin MODULE ${KAUTH_BACKEND_SRCS} AuthBackend.cpp ${kauthdebug_SRCS}) 0111 target_link_libraries(kauth_backend_plugin PRIVATE ${KAUTH_BACKEND_LIBS}) 0112 set_target_properties(kauth_backend_plugin PROPERTIES PREFIX "") 0113 0114 install(TARGETS kauth_backend_plugin 0115 LIBRARY DESTINATION "${KDE_INSTALL_PLUGINDIR}/${KAUTH_BACKEND_PLUGIN_DIR}" 0116 ARCHIVE DESTINATION "${KDE_INSTALL_PLUGINDIR}/${KAUTH_BACKEND_PLUGIN_DIR}" 0117 RUNTIME DESTINATION "${KDE_INSTALL_PLUGINDIR}/${KAUTH_BACKEND_PLUGIN_DIR}" 0118 ) 0119 endif () 0120 0121 # KAuth helper plugin 0122 0123 if (NOT "${KAUTH_HELPER_BACKEND_NAME}" STREQUAL "FAKE" AND NOT KAUTH_BUILD_CODEGENERATOR_ONLY) 0124 # KAuth::HelperProxy is not exported 0125 add_library(kauth_helper_plugin MODULE ${KAUTH_HELPER_BACKEND_SRCS} HelperProxy.cpp ${kauthdebug_SRCS}) 0126 target_link_libraries(kauth_helper_plugin PRIVATE ${KAUTH_HELPER_BACKEND_LIBS}) 0127 set_target_properties(kauth_helper_plugin PROPERTIES PREFIX "") 0128 install(TARGETS kauth_helper_plugin 0129 LIBRARY DESTINATION "${KDE_INSTALL_PLUGINDIR}/${KAUTH_HELPER_PLUGIN_DIR}" 0130 ARCHIVE DESTINATION "${KDE_INSTALL_PLUGINDIR}/${KAUTH_HELPER_PLUGIN_DIR}" 0131 RUNTIME DESTINATION "${KDE_INSTALL_PLUGINDIR}/${KAUTH_HELPER_PLUGIN_DIR}" 0132 ) 0133 endif () 0134 0135 ecm_qt_install_logging_categories( 0136 EXPORT KAUTH 0137 FILE kauth.categories 0138 DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR} 0139 ) 0140 0141 if(BUILD_QCH) 0142 ecm_add_qch( 0143 KF6Auth_QCH 0144 NAME KAuth 0145 BASE_NAME KF6Auth 0146 VERSION ${KF_VERSION} 0147 ORG_DOMAIN org.kde 0148 SOURCES # using only public headers, to cover only public API 0149 ${KAuthCore_HEADERS} 0150 MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md" 0151 LINK_QCHS 0152 Qt6Core_QCH 0153 KF6CoreAddons_QCH 0154 INCLUDE_DIRS 0155 ${CMAKE_CURRENT_BINARY_DIR} 0156 EXAMPLE_DIRS 0157 ${CMAKE_SOURCE_DIR}/examples 0158 BLANK_MACROS 0159 KAUTHCORE_EXPORT 0160 KAUTH_EXPORT 0161 KAUTH_DEPRECATED 0162 KAUTH_DEPRECATED_EXPORT 0163 "KAUTHCORE_DEPRECATED_VERSION(x, y, t)" 0164 "KAUTHCORE_DEPRECATED_VERSION_BELATED(x, y, xt, yt, t)" 0165 TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} 0166 QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} 0167 COMPONENT Devel 0168 ) 0169 endif() 0170