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)