Warning, /graphics/libksane/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 cmake_minimum_required(VERSION 3.16.0) 0002 0003 # KDE Applications version, managed by release script. 0004 set(RELEASE_SERVICE_VERSION_MAJOR "23") 0005 set(RELEASE_SERVICE_VERSION_MINOR "11") 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(KSane VERSION ${RELEASE_SERVICE_VERSION}) 0010 0011 message(STATUS "-------------------------------------------") 0012 message(STATUS "Starting CMake configuration for: libksane") 0013 0014 # ECM setup (Extended Cmake Modules) 0015 include(FeatureSummary) 0016 set(KF5_VERSION "5.90.0") 0017 find_package(ECM ${KF5_VERSION} REQUIRED NO_MODULE) 0018 set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://commits.kde.org/extra-cmake-modules") 0019 # ECM setup2 and include find same cmake module (copied from /usr/share/kde4/apps/cmake/modules/FindSane.cmake) 0020 set(CMAKE_MODULE_PATH ${KSane_SOURCE_DIR}/cmake-modules ${ECM_MODULE_PATH}) 0021 0022 include(KDEInstallDirs) 0023 include(KDECMakeSettings) 0024 include(KDECompilerSettings NO_POLICY_SCOPE) 0025 0026 include(FeatureSummary) 0027 include(ECMSetupVersion) 0028 include(ECMGenerateHeaders) 0029 include(ECMInstallIcons) 0030 include(CMakePackageConfigHelpers) 0031 include(CheckFunctionExists) 0032 include(ECMGenerateExportHeader) 0033 include(ECMQtDeclareLoggingCategory) 0034 0035 set(ksane_version_header "${CMAKE_CURRENT_BINARY_DIR}/src/ksane_version.h") 0036 ecm_setup_version( 0037 ${RELEASE_SERVICE_VERSION} 0038 VARIABLE_PREFIX KSANE 0039 VERSION_HEADER "${ksane_version_header}" 0040 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF5SaneConfigVersion.cmake" 0041 SOVERSION 5 0042 ) 0043 # Dependencies 0044 set(REQUIRED_QT_VERSION "5.15.2") 0045 if (QT_MAJOR_VERSION STREQUAL "6") 0046 set(QT_REQUIRED_VERSION "6.4.0") 0047 set(KF_MIN_VERSION "5.240.0") 0048 set(KF_MAJOR_VERSION "6") 0049 else() 0050 set(KF_MAJOR_VERSION "5") 0051 endif() 0052 # Required Qt5 components to build this framework 0053 find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} NO_MODULE REQUIRED Core Widgets) 0054 0055 # Required KF5 frameworks 0056 find_package(KF${KF_MAJOR_VERSION}I18n ${KF5_VERSION} REQUIRED) 0057 0058 if (NOT WIN32) 0059 find_package(KF${KF_MAJOR_VERSION}WidgetsAddons ${KF5_VERSION} REQUIRED) 0060 find_package(KF${KF_MAJOR_VERSION}TextWidgets ${KF5_VERSION} REQUIRED) 0061 0062 # Optional KF5 frameworks 0063 find_package(KF${KF_MAJOR_VERSION}Wallet ${KF5_VERSION}) 0064 set_package_properties(KF${KF_MAJOR_VERSION}Wallet PROPERTIES DESCRIPTION "Safe desktop-wide storage for passwords" TYPE OPTIONAL 0065 PURPOSE "Required to have permanent storage of passwords for scanners" 0066 ) 0067 0068 # Check if sane API is available. 0069 find_package(KSaneCore "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}" REQUIRED) 0070 add_subdirectory(src) 0071 if (BUILD_TESTING) 0072 add_subdirectory(autotests) 0073 add_subdirectory(tests) 0074 endif() 0075 else () 0076 add_subdirectory(ksanetwain) 0077 endif() 0078 0079 add_definitions( 0080 -DQT_NO_CAST_TO_ASCII 0081 -DQT_NO_CAST_FROM_ASCII 0082 -DQT_NO_URL_CAST_FROM_STRING 0083 -DQT_NO_CAST_FROM_BYTEARRAY 0084 -DQT_NO_KEYWORDS 0085 -DQT_USE_QSTRINGBUILDER 0086 -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT 0087 -DQT_STRICT_ITERATORS 0088 ) 0089 add_definitions( 0090 -DQT_DISABLE_DEPRECATED_BEFORE=0x050F02 0091 -DQT_DEPRECATED_WARNINGS_SINCE=0x060000 0092 -DKF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x055800 0093 -DKF_DEPRECATED_WARNINGS_SINCE=0x060000 0094 ) 0095 0096 # Create a Config.cmake and a ConfigVersion.cmake file and install them 0097 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5Sane") 0098 0099 configure_package_config_file( 0100 "${CMAKE_CURRENT_SOURCE_DIR}/KF5SaneConfig.cmake.in" 0101 "${CMAKE_CURRENT_BINARY_DIR}/KF5SaneConfig.cmake" 0102 INSTALL_DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0103 ) 0104 0105 install(FILES 0106 "${CMAKE_CURRENT_BINARY_DIR}/KF5SaneConfig.cmake" 0107 "${CMAKE_CURRENT_BINARY_DIR}/KF5SaneConfigVersion.cmake" 0108 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0109 COMPONENT Devel 0110 ) 0111 0112 install(EXPORT 0113 KF5SaneTargets 0114 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0115 FILE KF5SaneTargets.cmake 0116 NAMESPACE KF5:: 0117 ) 0118 0119 install(FILES 0120 "${ksane_version_header}" 0121 DESTINATION "${KDE_INSTALL_INCLUDEDIR_KF}/KSane" 0122 COMPONENT Devel 0123 ) 0124 0125 ki18n_install(po) 0126 0127 # ======================================================= 0128 0129 # To prevent warnings from M$ compiler 0130 IF(WIN32 AND MSVC) 0131 ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS) 0132 ADD_DEFINITIONS(-D_ATL_SECURE_NO_WARNINGS) 0133 ADD_DEFINITIONS(-D_AFX_SECURE_NO_WARNINGS) 0134 ENDIF(WIN32 AND MSVC) 0135 0136 # ======================================================= 0137 0138 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)