Warning, /utilities/kfloppy/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 "07") 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(kfloppy VERSION ${RELEASE_SERVICE_VERSION}) 0010 0011 if(NOT UNIX) 0012 message(FATAL_ERROR "KFloppy is only supposed to be built on Unix platforms.") 0013 endif(NOT UNIX) 0014 0015 set(KF_MIN_VERSION "5.102.0") 0016 set(REQUIRED_QT_VERSION "5.15.2") 0017 0018 find_package(ECM ${KF_MIN_VERSION} REQUIRED NO_MODULE) 0019 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) 0020 0021 include(KDEInstallDirs) 0022 include(KDECompilerSettings NO_POLICY_SCOPE) 0023 include(KDECMakeSettings) 0024 include(FeatureSummary) 0025 include(ECMInstallIcons) 0026 include(ECMQtDeclareLoggingCategory) 0027 include(KDEGitCommitHooks) 0028 include(KDEClangFormat) 0029 include(ECMDeprecationSettings) 0030 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h *.c) 0031 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES}) 0032 0033 if (QT_MAJOR_VERSION STREQUAL "6") 0034 set(QT_MIN_VERSION "6.4.0") 0035 set(KF_MIN_VERSION "5.240.0") 0036 set(KF_MAJOR_VERSION "6") 0037 else() 0038 set(KF_MAJOR_VERSION "5") 0039 endif() 0040 0041 find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} CONFIG REQUIRED Core DBus Widgets) 0042 if (QT_MAJOR_VERSION STREQUAL "6") 0043 find_package(Qt6Core5Compat) 0044 endif() 0045 find_package(KF${KF_MAJOR_VERSION} ${KF_MIN_VERSION} REQUIRED COMPONENTS I18n CoreAddons Completion XmlGui) 0046 find_package(KF5DocTools ${KF_MIN_VERSION}) 0047 set_package_properties(KF${KF_MAJOR_VERSION}DocTools PROPERTIES DESCRIPTION 0048 "Tools to generate documentation" 0049 TYPE OPTIONAL 0050 ) 0051 find_package(KF${KF_MAJOR_VERSION}Crash ${KF_MIN_VERSION} CONFIG REQUIRED) 0052 0053 ecm_set_disabled_deprecation_versions(QT 6.4 0054 KF 5.101 0055 ) 0056 0057 0058 add_executable(kfloppy) 0059 target_sources(kfloppy PRIVATE main.cpp format.cpp floppy.cpp format.h floppy.h) 0060 0061 set_property(SOURCE main.cpp APPEND PROPERTY COMPILE_DEFINITIONS "KFLOPPY_VERSION=\"${RELEASE_SERVICE_VERSION}\"") 0062 0063 ecm_qt_declare_logging_category(kfloppy HEADER kfloppy_debug.h IDENTIFIER KFLOPPY_LOG CATEGORY_NAME org.kde.kfloppy DESCRIPTION "KFloppy" EXPORT KFLOPPY) 0064 0065 0066 target_link_libraries(kfloppy KF${KF_MAJOR_VERSION}::CoreAddons KF${KF_MAJOR_VERSION}::I18n KF${KF_MAJOR_VERSION}::Completion 0067 KF${KF_MAJOR_VERSION}::XmlGui Qt${QT_MAJOR_VERSION}::DBus KF${KF_MAJOR_VERSION}::Crash) 0068 0069 if (TARGET Qt::Core5Compat) 0070 target_link_libraries(kfloppy Qt::Core5Compat) 0071 endif() 0072 0073 install(TARGETS kfloppy ${KDE_INSTALL_TARGETS_DEFAULT_ARGS} ) 0074 0075 0076 ########### install files ############### 0077 0078 install(PROGRAMS org.kde.kfloppy.desktop DESTINATION ${KDE_INSTALL_APPDIR}) 0079 install(FILES org.kde.kfloppy.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR}) 0080 0081 # The mimetypes used in this servicemenu (e.g. floppy_unmounted) don't exist anymore. 0082 # This needs to be done differently. 0083 #install( FILES floppy_format.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}/ServiceMenus) 0084 0085 ecm_install_icons(ICONS 0086 128-apps-kfloppy.png 0087 16-apps-kfloppy.png 0088 22-apps-kfloppy.png 0089 32-apps-kfloppy.png 0090 48-apps-kfloppy.png 0091 64-apps-kfloppy.png 0092 DESTINATION ${KDE_INSTALL_ICONDIR} 0093 THEME hicolor 0094 ) 0095 0096 ecm_qt_install_logging_categories( 0097 EXPORT KFLOPPY 0098 FILE kfloppy.categories 0099 DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR} 0100 ) 0101 ki18n_install(po) 0102 if (KF5DocTools_FOUND) 0103 kdoctools_install(po) 0104 add_subdirectory(doc) 0105 endif() 0106 0107 0108 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) 0109 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)