Rebase opt-in fingerprint workaround onto KScreenLocker 6.7.5
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
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)
|
||||
Reference in New Issue
Block a user