Warning, /education/cantor/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 cmake_minimum_required (VERSION 3.13 FATAL_ERROR) 0002 0003 set(CMAKE_CXX_STANDARD 11) 0004 set(CMAKE_CXX_STANDARD_REQUIRED ON) 0005 0006 set (RELEASE_SERVICE_VERSION_MAJOR "24") 0007 set (RELEASE_SERVICE_VERSION_MINOR "04") 0008 set (RELEASE_SERVICE_VERSION_MICRO "70") 0009 set (RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}") 0010 0011 project(cantor VERSION ${RELEASE_SERVICE_VERSION}) 0012 0013 set(KF5_MIN_VERSION "5.91.0") 0014 0015 find_package(ECM 5.15.0 REQUIRED CONFIG) 0016 set(CMAKE_MODULE_PATH ${cantor_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ) 0017 0018 include(KDEInstallDirs) 0019 include(KDECMakeSettings) 0020 include(KDECompilerSettings NO_POLICY_SCOPE) 0021 0022 include(ECMInstallIcons) 0023 include(ECMSetupVersion) 0024 include(ECMAddAppIcon) 0025 include(KDEClangFormat) 0026 include(GenerateExportHeader) 0027 include(FeatureSummary) 0028 0029 set( SharedMimeInfo_MINIMUM_VERSION "1.3" ) #TODO: What is the minimum required version? 0030 find_package(SharedMimeInfo ${SharedMimeInfo_MINIMUM_VERSION} REQUIRED) 0031 0032 find_package(Qt5 5.8.0 CONFIG REQUIRED 0033 Core 0034 Widgets 0035 PrintSupport 0036 Svg 0037 Xml 0038 XmlPatterns 0039 Test 0040 Help 0041 WebEngine 0042 WebEngineWidgets) 0043 0044 find_package(KF5 ${KF5_MIN_VERSION} REQUIRED 0045 Config 0046 Crash 0047 Completion 0048 DocTools 0049 NewStuff 0050 IconThemes 0051 TextEditor 0052 CoreAddons 0053 Archive 0054 Parts 0055 SyntaxHighlighting 0056 TextWidgets 0057 KIO 0058 XmlGui 0059 I18n 0060 ) 0061 0062 find_package(Poppler "0.62.0" REQUIRED COMPONENTS Qt5) 0063 0064 option(USE_LIBSPECTRE "Use libspectre library" ON) 0065 0066 add_subdirectory(thirdparty) 0067 # Need to set this here, because variable can't move from subdirectory (thirdparty) to upper cmake scope 0068 set(Discount_FOUND TRUE) 0069 0070 if(NOT WIN32 AND USE_LIBSPECTRE) 0071 set_package_properties(LibSpectre PROPERTIES DESCRIPTION "A PostScript rendering library" 0072 URL "https://www.freedesktop.org/wiki/Software/libspectre/" 0073 TYPE OPTIONAL 0074 PURPOSE "Support for rendering EPS files in Cantor") 0075 0076 find_package(LibSpectre) 0077 if(LIBSPECTRE_FOUND) 0078 set(WITH_EPS On) 0079 else(LIBSPECTRE_FOUND) 0080 set(WITH_EPS Off) 0081 endif(LIBSPECTRE_FOUND) 0082 0083 else() 0084 set(WITH_EPS Off) 0085 endif() 0086 0087 #[[ 0088 find_package(Discount 2.2.0) 0089 set_package_properties(Discount PROPERTIES DESCRIPTION "A C implementation of the Markdown markup language" 0090 URL "https://www.pell.portland.or.us/~orc/Code/discount/" 0091 TYPE OPTIONAL 0092 PURPOSE "Used for Markdown entries in Cantor") 0093 ]]# 0094 0095 add_definitions( 0096 -DQT_NO_CAST_TO_ASCII 0097 -DQT_NO_CAST_FROM_ASCII 0098 -DQT_NO_URL_CAST_FROM_STRING 0099 -DQT_NO_CAST_FROM_BYTEARRAY 0100 -DQT_USE_QSTRINGBUILDER 0101 -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT 0102 -DQT_NO_SIGNALS_SLOTS_KEYWORDS 0103 -DQT_DEPRECATED_WARNINGS_SINCE=0x060000 0104 -DKF_DEPRECATED_WARNINGS_SINCE=0x060000 0105 ) 0106 if (NOT WIN32) 0107 # Strict iterators can't be used on Windows, they lead to a link error 0108 # when application code iterates over a QVector<QPoint> for instance, unless 0109 # Qt itself was also built with strict iterators. 0110 # See example at https://bugreports.qt.io/browse/AUTOSUITE-946 0111 add_definitions(-DQT_STRICT_ITERATORS) 0112 endif() 0113 0114 if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") 0115 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic") 0116 0117 # both gcc & clang support it since the same version 0118 if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 5.0.0) 0119 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wzero-as-null-pointer-constant" ) 0120 endif() 0121 endif() 0122 0123 set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DQT_NO_DEBUG_OUTPUT") 0124 0125 kde_enable_exceptions() 0126 0127 # FIXME Looks like docbook on Windows don't buildable at all, so it are temporarily disabled 0128 if(NOT WIN32) 0129 add_subdirectory(doc) 0130 endif(NOT WIN32) 0131 add_subdirectory(src) 0132 add_subdirectory(icons) 0133 0134 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/Cantor") 0135 configure_package_config_file( 0136 ${CMAKE_CURRENT_SOURCE_DIR}/CantorConfig.cmake.in 0137 ${CMAKE_CURRENT_BINARY_DIR}/CantorConfig.cmake 0138 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}/ 0139 #PATH_VARS INCLUDE_INSTALL_DIR SYSCONFIG_INSTALL_DIR 0140 ) 0141 0142 ecm_setup_version(${RELEASE_SERVICE_VERSION} 0143 VARIABLE_PREFIX CANTOR 0144 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/cantor_version.h" 0145 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/CantorConfigVersion.cmake" 0146 ) 0147 install( 0148 FILES ${CMAKE_CURRENT_BINARY_DIR}/CantorConfig.cmake 0149 ${CMAKE_CURRENT_BINARY_DIR}/CantorConfigVersion.cmake 0150 DESTINATION ${CMAKECONFIG_INSTALL_DIR} 0151 COMPONENT Devel 0152 ) 0153 0154 install(EXPORT CantorTargets 0155 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0156 FILE CantorTargets.cmake 0157 NAMESPACE Cantor:: 0158 ) 0159 0160 0161 ki18n_install(po) 0162 if (KF5DocTools_FOUND) 0163 kdoctools_install(po) 0164 endif() 0165 install(FILES org.kde.cantor.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR}) 0166 0167 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h *.c) 0168 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES}) 0169 0170 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)