Files
fedora-tools/plasma-fingerprint-workaround/tests/authentication/CMakeLists.txt
T

33 lines
1.4 KiB
CMake

cmake_minimum_required(VERSION 3.25)
project(fingerprintRetryTests LANGUAGES CXX)
# Compile the actual patched upstream classes, but never use the host's PAM
# configuration or credentials. The test executable supplies a fake PAM API.
set(KSCREENLOCKER_SOURCE "" CACHE PATH "Extracted, patched KScreenLocker source")
if(NOT EXISTS "${KSCREENLOCKER_SOURCE}/greeter/pamauthenticator.cpp")
message(FATAL_ERROR "Set KSCREENLOCKER_SOURCE to the patched source directory")
endif()
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_AUTOMOC ON)
find_package(Qt6 REQUIRED COMPONENTS Core Test)
find_package(ECM REQUIRED NO_MODULE)
list(APPEND CMAKE_MODULE_PATH "${ECM_MODULE_PATH}")
include(ECMQtDeclareLoggingCategory)
set(sources retrytest.cpp
${KSCREENLOCKER_SOURCE}/greeter/pamauthenticator.cpp
${KSCREENLOCKER_SOURCE}/greeter/pamauthenticators.cpp)
ecm_qt_declare_logging_category(sources
HEADER kscreenlocker_greet_logging.h
IDENTIFIER KSCREENLOCKER_GREET
CATEGORY_NAME kscreenlocker_greet)
add_executable(retrytest ${sources})
target_include_directories(retrytest PRIVATE
${CMAKE_CURRENT_BINARY_DIR} ${KSCREENLOCKER_SOURCE}/greeter)
target_compile_definitions(retrytest PRIVATE HAVE_PAM_FAIL_DELAY)
target_link_libraries(retrytest PRIVATE Qt6::Core Qt6::Test)
enable_testing()
add_test(NAME fingerprint-retry COMMAND retrytest)
set_tests_properties(fingerprint-retry PROPERTIES TIMEOUT 30)