cmake_minimum_required(VERSION 3.25) project(qtpotato VERSION 0.1.0 LANGUAGES CXX) set(QT_MIN_VERSION "6.8.0") set(KF_MIN_VERSION "6.10.0") find_package(ECM ${KF_MIN_VERSION} REQUIRED NO_MODULE) set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) include(KDEInstallDirs) include(KDECMakeSettings) include(KDECompilerSettings NO_POLICY_SCOPE) include(ECMQmlModule) include(ECMAddTests) include(FeatureSummary) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) find_package(Qt6 ${QT_MIN_VERSION} REQUIRED COMPONENTS Core Gui Qml Quick QuickControls2 Widgets Network Concurrent DBus) find_package(KF6 ${KF_MIN_VERSION} REQUIRED COMPONENTS Kirigami I18n CoreAddons Crash Config) find_package(MpvQt 1.0 REQUIRED) find_package(QCoro6 0.10 REQUIRED COMPONENTS Core Network) find_package(Qt6Keychain 0.14 REQUIRED) find_package(PkgConfig REQUIRED) pkg_check_modules(FFMPEG REQUIRED IMPORTED_TARGET libavformat libavcodec libavutil) qcoro_enable_coroutines() find_package(KF6KirigamiAddons 1.0) set_package_properties(KF6KirigamiAddons PROPERTIES TYPE RUNTIME PURPOSE "FormCard settings and About pages") add_subdirectory(src) if(BUILD_TESTING) find_package(Qt6 ${QT_MIN_VERSION} REQUIRED COMPONENTS Test) add_subdirectory(autotests) endif() feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)