Warning, /utilities/kalk/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: 2020 Cahfofpai 0002 # SPDX-FileCopyrightText: 2020 Han Young <hanyoung@protonmail.com> 0003 # SPDX-License-Identifier: GPL-3.0-or-later 0004 0005 cmake_minimum_required(VERSION 3.16) 0006 0007 # KDE Applications version, managed by release script. 0008 set(RELEASE_SERVICE_VERSION_MAJOR "23") 0009 set(RELEASE_SERVICE_VERSION_MINOR "08") 0010 set(RELEASE_SERVICE_VERSION_MICRO "5") 0011 set(RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}") 0012 0013 project(kalk VERSION ${RELEASE_SERVICE_VERSION}) 0014 0015 find_package(BISON REQUIRED) 0016 find_package(FLEX REQUIRED) 0017 0018 0019 set(KF_MIN_VERSION "5.89.0") 0020 set(QT_MIN_VERSION "5.15.2") 0021 if (ANDROID) 0022 set(QT_MIN_VERSION "5.15.8") 0023 endif() 0024 0025 if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}") 0026 message(FATAL_ERROR "This application requires an out of source build. Please 0027 create a separate build directory.") 0028 endif() 0029 0030 include(FeatureSummary) 0031 0032 # only enable QML debugging on debug builds 0033 set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DQT_QML_DEBUG ") 0034 0035 find_package(ECM ${KF_MIN_VERSION} REQUIRED NO_MODULE) 0036 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake/modules) 0037 0038 find_package(GMP) 0039 set_package_properties(GMP PROPERTIES 0040 DESCRIPTION "The GNU Multiple Precision Arithmetic Library" 0041 URL "https://gmplib.org/" 0042 TYPE REQUIRED 0043 PURPOSE "Required for building KCalc." 0044 ) 0045 0046 find_package(MPFR) 0047 set_package_properties(MPFR PROPERTIES 0048 DESCRIPTION "The GNU Multiple Precision Floating-Point Reliable Library" 0049 URL "https://www.mpfr.org/" 0050 TYPE REQUIRED 0051 PURPOSE "Required for building KCalc." 0052 ) 0053 0054 include(CheckTypeSize) 0055 include(CheckIncludeFiles) 0056 0057 check_include_files(ieeefp.h HAVE_IEEEFP_H) 0058 check_type_size("signed long" SIZEOF_SIGNED_LONG) 0059 check_type_size("unsigned long" SIZEOF_UNSIGNED_LONG) 0060 0061 # only enable QML debugging on debug builds 0062 set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DQT_QML_DEBUG ") 0063 0064 include(FeatureSummary) 0065 include(ECMSetupVersion) 0066 include(ECMGenerateHeaders) 0067 include(ECMPoQmTools) 0068 include(KDEInstallDirs) 0069 include(KDECMakeSettings) 0070 include(KDECompilerSettings NO_POLICY_SCOPE) 0071 include(KDEClangFormat) 0072 include(KDEGitCommitHooks) 0073 0074 ecm_setup_version(${PROJECT_VERSION} 0075 VARIABLE_PREFIX KALK 0076 VERSION_HEADER ${CMAKE_CURRENT_BINARY_DIR}/version.h 0077 ) 0078 0079 find_package(Qt${QT_MAJOR_VERSION} ${QT_MIN_VERSION} REQUIRED NO_MODULE COMPONENTS Core Quick Test Gui QuickControls2 Widgets) 0080 find_package(Qt${QT_MAJOR_VERSION} ${QT_MIN_VERSION} NO_MODULE COMPONENTS QuickCompiler) 0081 find_package(KF${QT_MAJOR_VERSION} ${KF_MIN_VERSION} REQUIRED COMPONENTS 0082 Config 0083 Kirigami2 0084 I18n 0085 CoreAddons 0086 UnitConversion) 0087 if (ANDROID) 0088 find_package(Qt${QT_MAJOR_VERSION} ${QT_MIN_VERSION} REQUIRED COMPONENTS Svg) 0089 find_package(OpenSSL REQUIRED) 0090 endif() 0091 add_subdirectory(src) 0092 0093 configure_file(config-kcalc.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-kcalc.h ) 0094 add_subdirectory(knumber) 0095 0096 if(BUILD_TESTING) 0097 add_subdirectory(autotests) 0098 endif() 0099 0100 ki18n_install(po) 0101 0102 0103 if (ANDROID) 0104 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/android/version.gradle.in ${CMAKE_BINARY_DIR}/version.gradle) 0105 endif() 0106 0107 install(PROGRAMS org.kde.kalk.desktop DESTINATION ${KDE_INSTALL_APPDIR}) 0108 install(FILES org.kde.kalk.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR}) 0109 install(FILES org.kde.kalk.svg DESTINATION ${KDE_INSTALL_FULL_ICONDIR}/hicolor/scalable/apps/) 0110 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) 0111 0112 # add clang-format target for all our real source files 0113 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h) 0114 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES}) 0115 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)