Warning, /graphics/kruler/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 "24")
0005 set(RELEASE_SERVICE_VERSION_MINOR "01")
0006 set(RELEASE_SERVICE_VERSION_MICRO "95")
0007 set(RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
0008 
0009 project(kruler VERSION ${RELEASE_SERVICE_VERSION})
0010 
0011 set(QT_MIN_VERSION "6.5.0")
0012 set(KF_MIN_VERSION "5.240.0")
0013 
0014 find_package(ECM ${KF_MIN_VERSION} REQUIRED NO_MODULE)
0015 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
0016 
0017 include(KDEInstallDirs)
0018 include(KDECMakeSettings)
0019 include(KDECompilerSettings NO_POLICY_SCOPE)
0020 include(KDEClangFormat)
0021 include(KDEGitCommitHooks)
0022 include(ECMInstallIcons)
0023 include(FeatureSummary)
0024 include(ECMAddAppIcon)
0025 include(ECMSetupVersion)
0026 include(ECMDeprecationSettings)
0027 
0028 find_package(Qt6 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS
0029     Core
0030     Widgets
0031 )
0032 
0033 find_package(KF6 ${KF_MIN_VERSION} REQUIRED COMPONENTS
0034     CoreAddons
0035     I18n
0036     Notifications
0037     StatusNotifierItem
0038     WindowSystem
0039     XmlGui
0040 )
0041 
0042 
0043 find_package(KF6DocTools ${KF_MIN_VERSION})
0044 set_package_properties(KF6DocTools PROPERTIES DESCRIPTION
0045     "Tools to generate documentation"
0046     TYPE OPTIONAL
0047 )
0048 if (NOT APPLE)
0049     option(WITHOUT_X11 "Build without X11 integration (skips finding X11)" OFF)
0050     if (NOT WITHOUT_X11)
0051         find_package(XCB COMPONENTS XCB)
0052         set (KRULER_HAVE_X11 ${XCB_FOUND})
0053     endif()
0054 endif()
0055 
0056 ecm_set_disabled_deprecation_versions(QT 6.5
0057      KF 5.240.0
0058     )
0059 
0060 add_definitions(-DTRANSLATION_DOMAIN="kruler")
0061 
0062 configure_file(krulerconfig.h.in ${CMAKE_CURRENT_BINARY_DIR}/krulerconfig.h)
0063 
0064 add_subdirectory( pics )
0065 
0066 if (KF6DocTools_FOUND)
0067     add_subdirectory(doc)
0068 endif()
0069 
0070 ecm_setup_version(${RELEASE_SERVICE_VERSION}
0071     VARIABLE_PREFIX KRULER
0072     VERSION_HEADER kruler_version.h
0073 )
0074 
0075 add_executable(kruler)
0076 target_sources(kruler PRIVATE
0077     klineal.cpp
0078     krulersystemtray.cpp
0079     klineal.h
0080     krulersystemtray.h
0081     main.cpp
0082 )
0083 
0084 ki18n_wrap_ui(kruler
0085     cfg_appearance.ui
0086     cfg_advanced.ui
0087 )
0088 
0089 kconfig_add_kcfg_files(kruler kruler.kcfgc)
0090 
0091 file(GLOB ICONS_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/pics/*-apps-kruler.png")
0092 ecm_add_app_icon(kruler ICONS ${ICONS_SRCS})
0093 
0094 target_link_libraries(kruler
0095     KF6::CoreAddons
0096     KF6::I18n
0097     KF6::Notifications
0098     KF6::WindowSystem
0099     KF6::XmlGui
0100     KF6::StatusNotifierItem
0101 )
0102 if(KRULER_HAVE_X11)
0103     target_link_libraries(kruler
0104         ${XCB_LIBRARIES}
0105         Qt6::GuiPrivate
0106     )
0107 endif()
0108 
0109 install(TARGETS kruler ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
0110 
0111 install( PROGRAMS org.kde.kruler.desktop  DESTINATION  ${KDE_INSTALL_APPDIR} )
0112 install( FILES org.kde.kruler.appdata.xml    DESTINATION  ${KDE_INSTALL_METAINFODIR} )
0113 install( FILES kruler.notifyrc  DESTINATION  ${KDE_INSTALL_KNOTIFYRCDIR} )
0114 install( FILES move.wav  DESTINATION  ${KDE_INSTALL_DATADIR}/kruler/sounds )
0115 
0116 ki18n_install(po)
0117 if (KF6DocTools_FOUND)
0118     kdoctools_install(po)
0119 endif()
0120 
0121 # add clang-format target for all our real source files
0122 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h)
0123 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES})
0124 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)
0125 
0126 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)