Warning, /libraries/polkit-qt-1/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 cmake_minimum_required(VERSION 3.11)
0002
0003 ## Polkit Qt Library
0004 project("PolkitQt-1")
0005
0006 set(CMAKE_AUTOMOC TRUE)
0007 set(CMAKE_AUTOUIC TRUE)
0008 set(CMAKE_AUTORCC TRUE)
0009 set(CMAKE_INCLUDE_CURRENT_DIR ON)
0010
0011 set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_PATH})
0012
0013 # Used to create CMake config files
0014 include(CMakePackageConfigHelpers)
0015
0016 # Used to generate export headers
0017 include(GenerateExportHeader)
0018
0019 # Used to set installation paths
0020 include(GNUInstallDirs)
0021
0022 include(FeatureSummary)
0023
0024 set(REQUIRED_QT_VERSION 5.5.0)
0025 set(CMAKE_CXX_STANDARD 11)
0026
0027 if (NOT QT_MAJOR_VERSION)
0028 set(QT_MAJOR_VERSION "5")
0029 endif()
0030
0031 find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} REQUIRED COMPONENTS Core DBus Widgets)
0032
0033 find_package(PkgConfig REQUIRED)
0034
0035 set(POLKITQT-1_PCNAME "polkit-qt${QT_MAJOR_VERSION}-1")
0036 set(POLKITQT-1_CORE_PCNAME "polkit-qt${QT_MAJOR_VERSION}-core-1")
0037 set(POLKITQT-1_GUI_PCNAME "polkit-qt${QT_MAJOR_VERSION}-gui-1")
0038 set(POLKITQT-1_AGENT_PCNAME "polkit-qt${QT_MAJOR_VERSION}-agent-1")
0039 set(POLKITQT-1_CAMEL_NAME "PolkitQt${QT_MAJOR_VERSION}-1")
0040 set(POLKITQT-1_EXAMPLE "polkit-example-qt${QT_MAJOR_VERSION}")
0041 set(POLKITQT-1_EXAMPLE_HELPER "polkit-example-helper-qt${QT_MAJOR_VERSION}")
0042 set(POLKITQT-1_AGENT_EXAMPLE "polkit-agent-example-qt${QT_MAJOR_VERSION}")
0043 set(POLKITQT-1_INCLUDE_PATH "polkit-qt${QT_MAJOR_VERSION}-1")
0044
0045 pkg_check_modules(POLKIT_GOBJECT polkit-gobject-1 REQUIRED IMPORTED_TARGET)
0046 pkg_check_modules(POLKIT_AGENT polkit-agent-1 REQUIRED IMPORTED_TARGET)
0047 pkg_check_modules(GLIB2 glib-2.0>=2.36 REQUIRED IMPORTED_TARGET)
0048 pkg_check_modules(GOBJECT gobject-2.0 REQUIRED IMPORTED_TARGET)
0049
0050 add_definitions(-DQT_NO_KEYWORDS)
0051
0052 include (CheckFunctionExists)
0053
0054 # Check for older polkit
0055 set(CMAKE_REQUIRED_INCLUDES ${POLKIT_GOBJECT_INCLUDE_DIRS} ${POLKIT_AGENT_INCLUDE_DIRS})
0056 set(CMAKE_REQUIRED_LIBRARIES ${POLKIT_GOBJECT_LIBRARIES} ${POLKIT_AGENT_LIBRARIES})
0057 check_function_exists(polkit_agent_listener_register HAVE_POLKIT_AGENT_LISTENER_REGISTER)
0058 check_function_exists(polkit_authority_get_sync HAVE_POLKIT_AUTHORITY_GET_SYNC)
0059 check_function_exists(polkit_system_bus_name_get_user_sync HAVE_POLKIT_SYSTEM_BUS_NAME_GET_USER_SYNC)
0060
0061 if (NOT HAVE_POLKIT_AGENT_LISTENER_REGISTER OR NOT HAVE_POLKIT_AUTHORITY_GET_SYNC)
0062 message(STATUS "You have an older polkit-1 version: Polkit-Qt-1 will be built in compatibility mode")
0063 add_definitions(-DPOLKIT_QT_1_COMPATIBILITY_MODE)
0064 endif (NOT HAVE_POLKIT_AGENT_LISTENER_REGISTER OR NOT HAVE_POLKIT_AUTHORITY_GET_SYNC)
0065
0066 option(USE_COMMON_CMAKE_PACKAGE_CONFIG_DIR "Prefer to install the <package>Config.cmake files to lib/cmake/<package> instead of lib/<package>/cmake" TRUE)
0067
0068 set(POLKITQT-1_VERSION_MAJOR "0")
0069 set(POLKITQT-1_VERSION_MINOR "175")
0070 set(POLKITQT-1_VERSION_PATCH "0")
0071 set(POLKITQT-1_VERSION_STRING
0072 "${POLKITQT-1_VERSION_MAJOR}.${POLKITQT-1_VERSION_MINOR}.${POLKITQT-1_VERSION_PATCH}")
0073
0074 # The SONUMBER of the polkit-qt-1 libraries
0075 set(POLKITQT-1_ABI_VERSION 1)
0076 # The version number of the polkit-qt-1 libraries
0077 set(POLKITQT-1_LIBRARY_VERSION "${POLKITQT-1_ABI_VERSION}.${POLKITQT-1_VERSION_MINOR}.${POLKITQT-1_VERSION_PATCH}")
0078 set(POLKITQT-1_LIB_NAMESPACE ${POLKITQT-1_CAMEL_NAME})
0079
0080 configure_file(polkitqt1-version.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/core/polkitqt1-version.h)
0081 configure_file(polkitqt1-config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/core/polkitqt1-config.h)
0082
0083 install(FILES
0084 gui/polkitqt1-gui-action.h
0085 gui/polkitqt1-gui-actionbutton.h
0086 gui/polkitqt1-gui-actionbuttons.h
0087
0088 core/polkitqt1-authority.h
0089 core/polkitqt1-details.h
0090 core/polkitqt1-identity.h
0091 core/polkitqt1-subject.h
0092 core/polkitqt1-temporaryauthorization.h
0093 core/polkitqt1-actiondescription.h
0094
0095 agent/polkitqt1-agent-listener.h
0096 agent/polkitqt1-agent-session.h
0097
0098 ${CMAKE_CURRENT_BINARY_DIR}/core/polkitqt1-version.h
0099
0100 ${CMAKE_CURRENT_BINARY_DIR}/core/polkitqt1-core-export.h
0101 ${CMAKE_CURRENT_BINARY_DIR}/gui/polkitqt1-gui-export.h
0102 ${CMAKE_CURRENT_BINARY_DIR}/agent/polkitqt1-agent-export.h
0103
0104 DESTINATION
0105 ${CMAKE_INSTALL_INCLUDEDIR}/${POLKITQT-1_INCLUDE_PATH} COMPONENT Devel)
0106
0107 install(FILES
0108 includes/PolkitQt1/Authority
0109 includes/PolkitQt1/Details
0110 includes/PolkitQt1/Identity
0111 includes/PolkitQt1/Subject
0112 includes/PolkitQt1/TemporaryAuthorization
0113 includes/PolkitQt1/ActionDescription
0114 DESTINATION
0115 ${CMAKE_INSTALL_INCLUDEDIR}/${POLKITQT-1_INCLUDE_PATH}/PolkitQt1 COMPONENT Devel)
0116
0117 install(FILES
0118 includes/PolkitQt1/Gui/Action
0119 includes/PolkitQt1/Gui/ActionButton
0120 includes/PolkitQt1/Gui/ActionButtons
0121 DESTINATION
0122 ${CMAKE_INSTALL_INCLUDEDIR}/${POLKITQT-1_INCLUDE_PATH}/PolkitQt1/Gui COMPONENT Devel)
0123
0124 install(FILES
0125 includes/PolkitQt1/Agent/Listener
0126 includes/PolkitQt1/Agent/Session
0127 DESTINATION
0128 ${CMAKE_INSTALL_INCLUDEDIR}/${POLKITQT-1_INCLUDE_PATH}/PolkitQt1/Agent COMPONENT Devel)
0129
0130 if(NOT WIN32)
0131 # Pkgconfig
0132 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${POLKITQT-1_PCNAME}.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/${POLKITQT-1_PCNAME}.pc @ONLY)
0133 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${POLKITQT-1_PCNAME}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig )
0134 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${POLKITQT-1_CORE_PCNAME}.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/${POLKITQT-1_CORE_PCNAME}.pc
0135 @ONLY)
0136 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${POLKITQT-1_CORE_PCNAME}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig )
0137 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${POLKITQT-1_GUI_PCNAME}.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/${POLKITQT-1_GUI_PCNAME}.pc @ONLY)
0138 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${POLKITQT-1_GUI_PCNAME}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig )
0139 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${POLKITQT-1_AGENT_PCNAME}.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/${POLKITQT-1_AGENT_PCNAME}.pc
0140 @ONLY)
0141 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${POLKITQT-1_AGENT_PCNAME}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig )
0142 endif(NOT WIN32)
0143
0144
0145 if(USE_COMMON_CMAKE_PACKAGE_CONFIG_DIR)
0146 set(_PolkitQt-1Config_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/${POLKITQT-1_CAMEL_NAME})
0147 else(USE_COMMON_CMAKE_PACKAGE_CONFIG_DIR)
0148 set(_PolkitQt-1Config_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/${POLKITQT-1_CAMEL_NAME}/cmake)
0149 endif(USE_COMMON_CMAKE_PACKAGE_CONFIG_DIR)
0150
0151
0152 # Create the CMake Config files
0153 configure_package_config_file(PolkitQt-1Config.cmake.in
0154 ${CMAKE_BINARY_DIR}/${POLKITQT-1_CAMEL_NAME}Config.cmake
0155 INSTALL_DESTINATION ${_PolkitQt-1Config_INSTALL_DIR}
0156 PATH_VARS CMAKE_INSTALL_LIBDIR CMAKE_INSTALL_INCLUDEDIR
0157 )
0158
0159 write_basic_package_version_file(${CMAKE_BINARY_DIR}/${POLKITQT-1_CAMEL_NAME}ConfigVersion.cmake
0160 VERSION ${POLKITQT-1_VERSION_STRING}
0161 COMPATIBILITY SameMajorVersion
0162 )
0163
0164 install(FILES ${CMAKE_BINARY_DIR}/${POLKITQT-1_CAMEL_NAME}Config.cmake
0165 ${CMAKE_BINARY_DIR}/${POLKITQT-1_CAMEL_NAME}ConfigVersion.cmake
0166 DESTINATION ${_PolkitQt-1Config_INSTALL_DIR}
0167 )
0168
0169 install(EXPORT ${POLKITQT-1_CAMEL_NAME}Export FILE ${POLKITQT-1_CAMEL_NAME}Targets.cmake
0170 DESTINATION ${_PolkitQt-1Config_INSTALL_DIR}
0171 NAMESPACE ${POLKITQT-1_LIB_NAMESPACE}::)
0172
0173 option(BUILD_EXAMPLES "Builds a set of examples for polkit-qt-1" OFF)
0174 if (BUILD_EXAMPLES)
0175 find_package(Qt${QT_MAJOR_VERSION}Xml ${REQUIRED_QT_VERSION} REQUIRED)
0176 add_subdirectory(examples)
0177 endif (BUILD_EXAMPLES)
0178
0179 option(BUILD_TEST "Builds unit tests for polkit-qt-1" OFF)
0180 if (BUILD_TEST)
0181 find_package(Qt${QT_MAJOR_VERSION}Test ${REQUIRED_QT_VERSION} REQUIRED)
0182 add_subdirectory(test)
0183 endif (BUILD_TEST)
0184
0185 add_subdirectory(core)
0186 add_subdirectory(gui)
0187 add_subdirectory(agent)
0188
0189 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)