Warning, /graphics/kxstitch/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 cmake_minimum_required(VERSION 3.16.0) 0002 0003 set(CMAKE_EXPORT_COMPILE_COMMANDS ON) 0004 0005 project (kxstitch VERSION "2.2.0") 0006 0007 find_package (ECM REQUIRED NO_MODULE) 0008 set (CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) 0009 0010 include (KDEInstallDirs) 0011 include (KDECMakeSettings) 0012 include (KDECompilerSettings NO_POLICY_SCOPE) 0013 include (ECMSetupVersion) 0014 include (ECMInstallIcons) 0015 include (FeatureSummary) 0016 0017 kde_enable_exceptions() 0018 0019 find_package (Qt5 CONFIG REQUIRED 0020 Core 0021 PrintSupport 0022 Widgets 0023 ) 0024 0025 find_package (KF5DocTools) 0026 0027 find_package (KF5 REQUIRED COMPONENTS 0028 Config 0029 ConfigWidgets 0030 Completion 0031 GuiAddons 0032 I18n 0033 KIO 0034 TextWidgets 0035 WidgetsAddons 0036 XmlGui 0037 ) 0038 0039 find_package (ImageMagick COMPONENTS MagickCore Magick++ REQUIRED) 0040 find_package (Doxygen) 0041 find_package (SharedMimeInfo) 0042 0043 if (DOXYGEN_FOUND) 0044 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY) 0045 add_custom_target (doc ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile 0046 WORKING_DIRECTORY ${CMAKE_CURENT_BINARY_DIR} 0047 COMMENT "Generating API documentation with Doxygen" VERBATIM) 0048 endif (DOXYGEN_FOUND) 0049 0050 include_directories (BEFORE ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/src) 0051 # use both the _DIR and _DIRS variables, since the former are available 0052 # only in older cmake versions, while the latter only in newer ones 0053 include_directories (SYSTEM ${ImageMagick_Magick++_INCLUDE_DIR} ${ImageMagick_MagickCore_INCLUDE_DIR}) 0054 include_directories (SYSTEM ${ImageMagick_Magick++_INCLUDE_DIRS} ${ImageMagick_MagickCore_INCLUDE_DIRS}) 0055 0056 ecm_setup_version(${kxstitch_VERSION} 0057 VARIABLE_PREFIX KXSTITCH 0058 VERSION_HEADER Version.h 0059 ) 0060 0061 set (kxstitch_SRCS 0062 src/BackgroundImage.cpp 0063 src/BackgroundImages.cpp 0064 src/Boundary.cpp 0065 src/Commands.cpp 0066 src/ConfigurationDialogs.cpp 0067 src/Document.cpp 0068 src/DocumentFloss.cpp 0069 src/DocumentPalette.cpp 0070 src/Editor.cpp 0071 src/Element.cpp 0072 src/Exceptions.cpp 0073 src/Floss.cpp 0074 src/FlossScheme.cpp 0075 src/KeycodeLineEdit.cpp 0076 src/Layer.cpp 0077 src/Layers.cpp 0078 src/LibraryFile.cpp 0079 src/LibraryPattern.cpp 0080 src/Main.cpp 0081 src/MainWindow.cpp 0082 src/Page.cpp 0083 src/Palette.cpp 0084 src/PaperSizes.cpp 0085 src/Pattern.cpp 0086 src/Preview.cpp 0087 src/PrinterConfiguration.cpp 0088 src/Renderer.cpp 0089 src/Scale.cpp 0090 src/ScaledPixmapLabel.cpp 0091 src/SchemeManager.cpp 0092 src/SchemeParser.cpp 0093 src/Stitch.cpp 0094 src/StitchData.cpp 0095 src/Symbol.cpp 0096 src/SymbolLibrary.cpp 0097 src/SymbolManager.cpp 0098 0099 src/AlphaSelect.cpp 0100 src/CalibrateFlossDlg.cpp 0101 src/ExtendPatternDlg.cpp 0102 src/FilePropertiesDlg.cpp 0103 src/ImageElementDlg.cpp 0104 src/ImportImageDlg.cpp 0105 src/KeyElementDlg.cpp 0106 src/LibraryFilePathsDlg.cpp 0107 src/LibraryListWidget.cpp 0108 src/LibraryListWidgetItem.cpp 0109 src/LibraryManagerDlg.cpp 0110 src/LibraryPatternPropertiesDlg.cpp 0111 src/LibraryTreeWidget.cpp 0112 src/LibraryTreeWidgetItem.cpp 0113 src/NewFlossDlg.cpp 0114 src/PaletteManagerDlg.cpp 0115 src/PageLayoutEditor.cpp 0116 src/PagePreviewListWidgetItem.cpp 0117 src/PagePropertiesDlg.cpp 0118 src/PatternElementDlg.cpp 0119 src/PrintSetupDlg.cpp 0120 src/SelectArea.cpp 0121 src/SymbolListWidget.cpp 0122 src/SymbolSelectorDlg.cpp 0123 src/TextElementDlg.cpp 0124 src/TextToolDlg.cpp 0125 0126 kxstitch.qrc 0127 ) 0128 0129 file(GLOB kxstitch_UI ${CMAKE_CURRENT_SOURCE_DIR}/ui/*.ui) 0130 0131 ki18n_wrap_ui(kxstitch_SRCS ${kxstitch_UI}) 0132 0133 add_subdirectory(icons) 0134 add_subdirectory(schemes) 0135 add_subdirectory(symbols) 0136 add_subdirectory(library) 0137 add_subdirectory(doc) 0138 0139 kconfig_add_kcfg_files(kxstitch_SRCS configuration.kcfgc) 0140 0141 add_executable (kxstitch ${kxstitch_SRCS}) 0142 0143 target_link_libraries (kxstitch 0144 Qt5::Core 0145 Qt5::PrintSupport 0146 Qt5::Widgets 0147 KF5::Completion 0148 KF5::ConfigGui 0149 KF5::GuiAddons 0150 KF5::KIOFileWidgets 0151 KF5::I18n 0152 KF5::TextWidgets 0153 KF5::WidgetsAddons 0154 KF5::XmlGui 0155 ${ImageMagick_Magick++_LIBRARY} ${ImageMagick_MagickCore_LIBRARY} 0156 ) 0157 0158 set (WITH_PROFILING OFF CACHE BOOL "Build with profiling support") 0159 0160 if (WITH_PROFILING) 0161 add_definitions( -pg ) 0162 set_target_properties (kxstitch PROPERTIES LINK_FLAGS -pg) 0163 endif (WITH_PROFILING) 0164 0165 if (SILENCE_DEPRECATED) 0166 add_definitions( -Wno-deprecated-declarations ) 0167 endif (SILENCE_DEPRECATED) 0168 0169 exec_program (Magick++-config ARGS --cxxflags OUTPUT_VARIABLE magick_config) 0170 0171 string (REGEX MATCH "-DMAGICKCORE_HDRI_ENABLE=." magick_config_hdri ${magick_config}) 0172 string (REGEX MATCH "-DMAGICKCORE_QUANTUM_DEPTH=[0-9]+" magick_config_quantum ${magick_config}) 0173 0174 # earlier versions of Magick++-config don't provide the necessary options 0175 if (magick_config_hdri STREQUAL "") 0176 # set a default for MAGICKCORE_HDRI_ENABLE to 0 0177 set (magick_config_hdri "-DMAGICKCORE_HDRI_ENABLE=0") 0178 endif (magick_config_hdri STREQUAL "") 0179 0180 if (magick_config_quantum STREQUAL "") 0181 # MAGICKCORE_QUANTUM_DEPTH can also be found in the version string of an ImageMagick application 0182 exec_program (mogrify ARGS --version OUTPUT_VARIABLE mogrify_version) 0183 string (REGEX MATCH "Q8|Q16" mogrify_version_quantum ${mogrify_version}) 0184 0185 if (mogrify_version_quantum STREQUAL "Q8") 0186 set (magick_config_quantum "-DMAGICKCORE_QUANTUM_DEPTH=8") 0187 else (mogrify_version_quantum STREQUAL "Q8") 0188 set (magick_config_quantum "-DMAGICKCORE_QUANTUM_DEPTH=16") 0189 endif (mogrify_version_quantum STREQUAL "Q8") 0190 endif (magick_config_quantum STREQUAL "") 0191 0192 message (STATUS "Set magic_config_quantum: " ${magick_config_quantum}) 0193 message (STATUS "Set magic_config_hdri: " ${magick_config_hdri}) 0194 0195 add_definitions( 0196 -DQT_NO_CAST_FROM_ASCII 0197 -DQT_NO_CAST_TO_ASCII 0198 -DQT_NO_URL_CAST_FROM_STRING 0199 ${magick_config_hdri} 0200 ${magick_config_quantum} 0201 ) 0202 0203 if (IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/po") 0204 message (STATUS "Processing translations") 0205 ki18n_install(po) 0206 kdoctools_install(po) 0207 endif(IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/po") 0208 0209 install (TARGETS kxstitch DESTINATION ${KDE_INSTALL_BINDIR}) 0210 install (FILES kxstitch.kcfg DESTINATION ${KDE_INSTALL_KCFGDIR}) 0211 install (FILES org.kde.kxstitch.desktop DESTINATION ${KDE_INSTALL_APPDIR}) 0212 install (FILES org.kde.kxstitch.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR}) 0213 0214 IF (SHAREDMIMEINFO_FOUND AND IS_DIRECTORY ${KDE_INSTALL_MIMEDIR}) 0215 install (FILES kxstitch.xml DESTINATION ${KDE_INSTALL_MIMEDIR}) 0216 update_xdg_mimetypes (${KDE_INSTALL_MIMEDIR}) 0217 ENDIF (SHAREDMIMEINFO_FOUND AND IS_DIRECTORY ${KDE_INSTALL_MIMEDIR}) 0218 0219 feature_summary (WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) 0220