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)