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