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 "114") 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) 0190 0191 # Always last! 0192 include (PolkitQt-1Dist)