include(ConfigureChecks.cmake)
configure_file(BackendsConfig.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/BackendsConfig.h)
set(KAUTH_INSTALL_INCLUDEDIR "${KDE_INSTALL_INCLUDEDIR_KF}/KAuth")
set(KAUTHCORE_INSTALL_INCLUDEDIR "${KDE_INSTALL_INCLUDEDIR_KF}/KAuthCore")
ecm_create_qm_loader(KAuth_QM_LOADER kauth6_qt)
set(kauthdebug_SRCS)
ecm_qt_declare_logging_category(kauthdebug_SRCS
HEADER kauthdebug.h
IDENTIFIER KAUTH
CATEGORY_NAME kf.auth
OLD_CATEGORY_NAMES kf5.kauth
DESCRIPTION "KAuth"
EXPORT KAUTH
)
if(NOT KAUTH_BUILD_CODEGENERATOR_ONLY)
add_library(KF6AuthCore)
add_library(KF6::AuthCore ALIAS KF6AuthCore)
set_target_properties(KF6AuthCore PROPERTIES
VERSION ${KAUTH_VERSION}
SOVERSION ${KAUTH_SOVERSION}
EXPORT_NAME AuthCore
)
target_sources(KF6AuthCore PRIVATE
action.cpp
actionreply.cpp
executejob.cpp
AuthBackend.cpp
BackendsManager.cpp
HelperProxy.cpp
helpersupport.cpp
${kauthdebug_SRCS}
backends/fake/FakeBackend.cpp
backends/fakehelper/FakeHelperProxy.cpp
${KAuth_QM_LOADER}
)
ecm_generate_export_header(KF6AuthCore
BASE_NAME KAuthCore
GROUP_BASE_NAME KF
VERSION ${KF_VERSION}
USE_VERSION_HEADER
VERSION_BASE_NAME KAuth
DEPRECATED_BASE_VERSION 0
DEPRECATION_VERSIONS
EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT}
)
target_link_libraries(KF6AuthCore PUBLIC Qt6::Core Qt6::Gui KF6::CoreAddons)
target_include_directories(KF6AuthCore INTERFACE
"$<INSTALL_INTERFACE:${KAUTHCORE_INSTALL_INCLUDEDIR};${KAUTH_INSTALL_INCLUDEDIR}>"
)
install(TARGETS KF6AuthCore EXPORT KF6AuthTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS})
ecm_generate_headers(KAuthCore_CamelCase_HEADERS
HEADER_NAMES
Action
ActionReply
ExecuteJob
HelperSupport
PREFIX KAuth
REQUIRED_HEADERS KAuthCore_HEADERS
)
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/kauthcore_export.h
${KAuthCore_HEADERS}
DESTINATION ${KAUTHCORE_INSTALL_INCLUDEDIR}/kauth
COMPONENT Devel
)
install(FILES
${KAuthCore_CamelCase_HEADERS}
DESTINATION ${KAUTHCORE_INSTALL_INCLUDEDIR}/KAuth
COMPONENT Devel
)
endif()
if (NOT "${KAUTH_BACKEND_NAME}" STREQUAL "FAKE")
add_executable(kauth-policy-gen ${KAUTH_POLICY_GEN_SRCS})
add_executable(KF6::kauth-policy-gen ALIAS kauth-policy-gen)
if (APPLE)
include(ECMMarkNonGuiExecutable)
ecm_mark_nongui_executable(kauth-policy-gen)
endif ()
target_link_libraries( kauth-policy-gen PRIVATE ${KAUTH_POLICY_GEN_LIBRARIES} )
install( TARGETS kauth-policy-gen EXPORT KF6AuthToolsTargets DESTINATION ${KAUTH_HELPER_INSTALL_DIR})
endif ()
if (NOT "${KAUTH_BACKEND_NAME}" STREQUAL "FAKE" AND NOT KAUTH_BUILD_CODEGENERATOR_ONLY)
add_library(kauth_backend_plugin MODULE ${KAUTH_BACKEND_SRCS} AuthBackend.cpp ${kauthdebug_SRCS})
target_link_libraries(kauth_backend_plugin PRIVATE ${KAUTH_BACKEND_LIBS})
set_target_properties(kauth_backend_plugin PROPERTIES PREFIX "")
install(TARGETS kauth_backend_plugin
LIBRARY DESTINATION "${KDE_INSTALL_PLUGINDIR}/${KAUTH_BACKEND_PLUGIN_DIR}"
ARCHIVE DESTINATION "${KDE_INSTALL_PLUGINDIR}/${KAUTH_BACKEND_PLUGIN_DIR}"
RUNTIME DESTINATION "${KDE_INSTALL_PLUGINDIR}/${KAUTH_BACKEND_PLUGIN_DIR}"
)
endif ()
if (NOT "${KAUTH_HELPER_BACKEND_NAME}" STREQUAL "FAKE" AND NOT KAUTH_BUILD_CODEGENERATOR_ONLY)
add_library(kauth_helper_plugin MODULE ${KAUTH_HELPER_BACKEND_SRCS} HelperProxy.cpp ${kauthdebug_SRCS})
target_link_libraries(kauth_helper_plugin PRIVATE ${KAUTH_HELPER_BACKEND_LIBS})
set_target_properties(kauth_helper_plugin PROPERTIES PREFIX "")
install(TARGETS kauth_helper_plugin
LIBRARY DESTINATION "${KDE_INSTALL_PLUGINDIR}/${KAUTH_HELPER_PLUGIN_DIR}"
ARCHIVE DESTINATION "${KDE_INSTALL_PLUGINDIR}/${KAUTH_HELPER_PLUGIN_DIR}"
RUNTIME DESTINATION "${KDE_INSTALL_PLUGINDIR}/${KAUTH_HELPER_PLUGIN_DIR}"
)
endif ()
ecm_qt_install_logging_categories(
EXPORT KAUTH
FILE kauth.categories
DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}
)
if(BUILD_QCH)
ecm_add_qch(
KF6Auth_QCH
NAME KAuth
BASE_NAME KF6Auth
VERSION ${KF_VERSION}
ORG_DOMAIN org.kde
SOURCES
${KAuthCore_HEADERS}
MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md"
LINK_QCHS
Qt6Core_QCH
KF6CoreAddons_QCH
INCLUDE_DIRS
${CMAKE_CURRENT_BINARY_DIR}
EXAMPLE_DIRS
${CMAKE_SOURCE_DIR}/examples
BLANK_MACROS
KAUTHCORE_EXPORT
KAUTH_EXPORT
KAUTH_DEPRECATED
KAUTH_DEPRECATED_EXPORT
"KAUTHCORE_DEPRECATED_VERSION(x, y, t)"
"KAUTHCORE_DEPRECATED_VERSION_BELATED(x, y, xt, yt, t)"
TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
COMPONENT Devel
)
endif()