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 "04") 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(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)