Warning, /education/kalgebra/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 "24") 0005 set(RELEASE_SERVICE_VERSION_MINOR "04") 0006 set(RELEASE_SERVICE_VERSION_MICRO "70") 0007 set(RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}") 0008 0009 project(kalgebra VERSION ${RELEASE_SERVICE_VERSION}) 0010 set(KF_MIN_VERSION "5.240.0") 0011 set(KDE_COMPILERSETTINGS_LEVEL "5.240.0") 0012 find_package(ECM ${KF_MIN_VERSION} REQUIRED NO_MODULE) 0013 set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${ECM_MODULE_PATH}) 0014 0015 include(KDEInstallDirs) 0016 include(KDECompilerSettings NO_POLICY_SCOPE) 0017 include(KDECMakeSettings) 0018 include(ECMInstallIcons) 0019 include(ECMSetupVersion) 0020 include(FeatureSummary) 0021 include(ECMAddAppIcon) 0022 include(ECMDeprecationSettings) 0023 if (NOT ANDROID) 0024 include(KDEClangFormat) 0025 include(KDEGitCommitHooks) 0026 endif() 0027 set(QT_REQUIRED_VERSION "6.5.0") 0028 0029 find_package(Qt6 ${QT_REQUIRED_VERSION} REQUIRED NO_MODULE COMPONENTS Qml Quick Xml Svg PrintSupport Test Core5Compat OpenGLWidgets) 0030 find_package(Analitza6 REQUIRED) 0031 0032 ecm_set_disabled_deprecation_versions(QT 6.4 0033 KF 5.101 0034 ) 0035 0036 0037 set(MOBILE_BACKEND "kde" CACHE STRING "Backend to install, currently. Check /mobile/plugins/widgets/*") 0038 0039 include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR}) 0040 0041 set(CURSES_NEED_NCURSES TRUE) 0042 find_package(Curses) 0043 find_package(Readline) 0044 0045 ecm_setup_version(${RELEASE_SERVICE_VERSION} VARIABLE_PREFIX KALGEBRA VERSION_HEADER kalgebra_version.h) 0046 0047 set_package_properties(Readline PROPERTIES TYPE OPTIONAL 0048 PURPOSE "Allows KAlgebra to provide a console interface." 0049 URL "https://tiswww.case.edu/php/chet/readline/rltop.html") 0050 set_package_properties(Curses PROPERTIES TYPE OPTIONAL 0051 PURPOSE "Allows KAlgebra to provide a console interface." 0052 URL "https://www.gnu.org/software/ncurses/") 0053 0054 add_definitions(-DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS) 0055 add_definitions(-DQT_NO_URL_CAST_FROM_STRING) 0056 add_definitions(-DQT_NO_CAST_TO_ASCII) 0057 0058 find_package(KF6 ${KF_MIN_VERSION} REQUIRED COMPONENTS I18n CoreAddons) 0059 find_package(KF6 ${KF_MIN_VERSION} OPTIONAL_COMPONENTS ConfigWidgets WidgetsAddons KIO DocTools XmlGui) 0060 find_package(Plasma) 0061 find_package(Qt6WebEngineWidgets) 0062 0063 if(KF6DocTools_FOUND AND Qt6WebEngineWidgets_FOUND AND KF6ConfigWidgets_FOUND AND KF6WidgetsAddons_FOUND AND KF6KIO_FOUND AND Plasma_FOUND AND NOT CMAKE_SYSTEM MATCHES Android*) 0064 add_subdirectory(src) 0065 add_subdirectory(plasmoids) 0066 endif() 0067 0068 add_subdirectory(icons) 0069 add_subdirectory(mobile) 0070 0071 if(READLINE_FOUND AND CURSES_FOUND) 0072 add_subdirectory(calgebra) 0073 endif() 0074 0075 if(KF6DocTools_FOUND) 0076 add_subdirectory(utils) 0077 0078 add_custom_target(commandsdoc 0079 ${CMAKE_CURRENT_BINARY_DIR}/utils/docbook_analitzacommands commands.docbook 0080 DEPENDS docbook_analitzacommands 0081 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/doc/ 0082 COMMENT "Generating commands docbook information" 0083 ) 0084 0085 add_subdirectory(doc) 0086 endif() 0087 0088 ki18n_install(po) 0089 if (KF6DocTools_FOUND) 0090 kdoctools_install(po) 0091 endif() 0092 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) 0093 0094 if (NOT ANDROID) 0095 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES src/*.cpp src/*.h mobile/*.cpp mobile/*.h utils/*.cpp utils/*.h) 0096 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES}) 0097 0098 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT) 0099 endif()