Warning, /education/kwordquiz/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 cmake_minimum_required(VERSION 3.16) 0002 0003 # KDE Application Version, managed by release script 0004 set(RELEASE_SERVICE_VERSION_MAJOR "23") 0005 set(RELEASE_SERVICE_VERSION_MINOR "08") 0006 set(RELEASE_SERVICE_VERSION_MICRO "1") 0007 set(RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}") 0008 0009 project(kwordquiz VERSION ${RELEASE_SERVICE_VERSION}) 0010 0011 if(NOT MSVC) 0012 set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-Wall -Wno-switch -O2 -g") 0013 set(CMAKE_CXX_FLAGS_RELEASE "-Wall -Wno-switch -O2") 0014 set(CMAKE_CXX_FLAGS_DEBUG "-Wall -Wno-switch -g3 -ggdb -O0" CACHE STRING "Debug options." FORCE) 0015 endif(NOT MSVC) 0016 0017 include(FeatureSummary) 0018 set(KF5_MIN_VERSION "5.92.0") 0019 set(REQUIRED_QT_VERSION "5.15.0") 0020 set(KDE_COMPILERSETTINGS_LEVEL "5.82") 0021 find_package(ECM ${KF5_MIN_VERSION} NO_MODULE REQUIRED) 0022 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ) 0023 0024 0025 include(KDEInstallDirs) 0026 include(KDECMakeSettings) 0027 include(KDECompilerSettings NO_POLICY_SCOPE) 0028 include(ECMInstallIcons) 0029 include(ECMAddAppIcon) 0030 include(KDEClangFormat) 0031 include(ECMSetupVersion) 0032 include(ECMAddTests) 0033 include(ECMDeprecationSettings) 0034 include(KDEGitCommitHooks) 0035 0036 if (QT_MAJOR_VERSION STREQUAL "6") 0037 set(QT_REQUIRED_VERSION "6.4.0") 0038 set(KF_MIN_VERSION "5.240.0") 0039 set(KF_MAJOR_VERSION "6") 0040 else() 0041 set(KF_MAJOR_VERSION "5") 0042 endif() 0043 0044 set(CMAKE_CXX_STANDARD 17) 0045 set(CMAKE_CXX_STANDARD_REQUIRED ON) 0046 0047 find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} NO_MODULE COMPONENTS 0048 Core 0049 Widgets 0050 PrintSupport 0051 Quick 0052 QuickControls2 0053 Qml 0054 Svg 0055 Multimedia 0056 Xml 0057 ) 0058 set_package_properties(Qt${QT_MAJOR_VERSION} PROPERTIES 0059 TYPE REQUIRED 0060 PURPOSE "Base application components" 0061 ) 0062 0063 find_package(KF${QT_MAJOR_VERSION} ${KF5_MIN_VERSION} COMPONENTS 0064 I18n 0065 Crash 0066 Config 0067 DocTools 0068 NotifyConfig 0069 NewStuff 0070 Notifications 0071 Kirigami2 0072 DBusAddons 0073 ) 0074 set_package_properties(KF${QT_MAJOR_VERSION} PROPERTIES 0075 TYPE REQUIRED 0076 PURPOSE "Base application components" 0077 ) 0078 0079 find_package(KF${QT_MAJOR_VERSION}KirigamiAddons 0.9.0) 0080 set_package_properties(KF${QT_MAJOR_VERSION}KirigamiAddons PROPERTIES 0081 TYPE REQUIRED 0082 PURPOSE "Kirigami addons application UI framework" 0083 ) 0084 0085 include_directories (${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ) 0086 0087 find_package(LibKEduVocDocument REQUIRED) 0088 add_definitions(-DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS) 0089 add_definitions(-DQT_NO_URL_CAST_FROM_STRING) 0090 ecm_set_disabled_deprecation_versions(QT 6.4 KF 5.89.0) 0091 0092 add_subdirectory(doc) 0093 add_subdirectory(src) 0094 0095 if(BUILD_TESTING) 0096 find_package(Qt${QT_MAJOR_VERSION}Test REQUIRED) 0097 0098 add_subdirectory(autotests) 0099 endif() 0100 0101 ki18n_install(po) 0102 if (KF5DocTools_FOUND) 0103 kdoctools_install(po) 0104 endif() 0105 0106 install(FILES org.kde.kwordquiz.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR}) 0107 install(FILES org.kde.kwordquiz.svg DESTINATION ${KDE_INSTALL_FULL_ICONDIR}/hicolor/scalable/apps) 0108 0109 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) 0110 0111 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES src/*.cpp src/*.h) 0112 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES}) 0113 0114 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)