Warning, /sdk/selenium-webdriver-at-spi/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # SPDX-License-Identifier: BSD-3-Clause
0002 # SPDX-FileCopyrightText: 2022 Harald Sitter <sitter@kde.org>
0003
0004 project(selenium-webdriver-at-spi)
0005
0006 cmake_minimum_required(VERSION 3.22)
0007 find_package(ECM 5.99 REQUIRED NO_MODULE)
0008 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
0009
0010 include(FeatureSummary)
0011 include(KDEInstallDirs)
0012 include(KDECMakeSettings)
0013 include(KDECompilerSettings)
0014 include(KDEClangFormat)
0015 include(KDEGitCommitHooks)
0016 include(CMakePackageConfigHelpers)
0017 include(FindPkgConfig)
0018
0019 set(CMAKE_CXX_STANDARD 20)
0020 set(CMAKE_CXX_STANDARD_REQUIRED ON)
0021
0022 # Disable legacy stuff to get rid of some deprecation warnings. Notably duplicated QProcess::finished overloads.
0023 add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x050e00)
0024
0025 find_package(Qt${QT_MAJOR_VERSION} ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Core DBus WaylandClient)
0026 if(QT_MAJOR_VERSION EQUAL "5")
0027 find_package(KF5 5.99 REQUIRED COMPONENTS WindowSystem Wayland CoreAddons)
0028 else()
0029 find_package(KF6 5.240 REQUIRED COMPONENTS WindowSystem CoreAddons)
0030 find_package(KWayland REQUIRED)
0031 endif()
0032
0033 find_package(KPipeWire REQUIRED)
0034 find_package(Wayland REQUIRED COMPONENTS Client)
0035 find_package(PlasmaWaylandProtocols REQUIRED)
0036 if (QT_MAJOR_VERSION EQUAL "5")
0037 find_package(QtWaylandScanner REQUIRED)
0038 endif()
0039
0040 # Runtime Dependencies
0041 include(cmake/FindPythonModule.cmake)
0042 find_pythonmodule(flask)
0043 find_pythonmodule(pyatspi)
0044 find_pythonmodule(lxml)
0045 find_pythonmodule(gi)
0046 pkg_check_modules(GObjectIntrospection gobject-introspection-1.0)
0047 add_feature_info(GObjectIntrospection GObjectIntrospection_FOUND "required at runtime!")
0048
0049 set_package_properties(PkgConfig PROPERTIES TYPE REQUIRED)
0050 pkg_check_modules(xkbcommon xkbcommon REQUIRED IMPORTED_TARGET)
0051 set_package_properties(xkbcommon PROPERTIES TYPE REQUIRED)
0052
0053 add_subdirectory(appidlister)
0054 add_subdirectory(screenshotter)
0055 add_subdirectory(autotests)
0056 add_subdirectory(inputsynth)
0057 add_subdirectory(videorecorder)
0058
0059 install(PROGRAMS run.rb
0060 RENAME selenium-webdriver-at-spi-run
0061 DESTINATION ${CMAKE_INSTALL_BINDIR})
0062 install(FILES selenium-webdriver-at-spi.py app_roles.py requirements.txt DESTINATION ${CMAKE_INSTALL_DATADIR}/selenium-webdriver-at-spi)
0063
0064 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/SeleniumWebDriverATSPI")
0065
0066 configure_package_config_file(
0067 ${CMAKE_CURRENT_SOURCE_DIR}/SeleniumWebDriverATSPIConfig.cmake.in
0068 ${CMAKE_CURRENT_BINARY_DIR}/SeleniumWebDriverATSPIConfig.cmake
0069 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
0070 )
0071
0072 install(
0073 FILES
0074 ${CMAKE_CURRENT_BINARY_DIR}/SeleniumWebDriverATSPIConfig.cmake
0075 cmake/Findat-spi2-registryd.cmake
0076 cmake/Findat-spi-bus-launcher.cmake
0077 cmake/FindPython3.cmake
0078 cmake/FindPythonModule.cmake
0079 cmake/FindPythonModule.cmake.in
0080 cmake/FindRuby.cmake
0081 cmake/ProgramFinder.cmake
0082 DESTINATION ${CMAKECONFIG_INSTALL_DIR}
0083 COMPONENT Devel
0084 )
0085
0086 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)