45 lines
1.3 KiB
CMake
45 lines
1.3 KiB
CMake
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)
|