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)