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 "04") 0006 set(RELEASE_SERVICE_VERSION_MICRO "1") 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(GenerateExportHeader) 0033 include(ECMQtDeclareLoggingCategory) 0034 0035 ecm_setup_version( 0036 ${RELEASE_SERVICE_VERSION} 0037 VARIABLE_PREFIX KSANE 0038 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/ksane_version.h" 0039 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF5SaneConfigVersion.cmake" 0040 SOVERSION 5 0041 ) 0042 # Dependencies 0043 set(REQUIRED_QT_VERSION "5.15.2") 0044 if (QT_MAJOR_VERSION STREQUAL "6") 0045 set(QT_REQUIRED_VERSION "6.4.0") 0046 set(KF_MIN_VERSION "5.240.0") 0047 set(KF_MAJOR_VERSION "6") 0048 else() 0049 set(KF_MAJOR_VERSION "5") 0050 endif() 0051 # Required Qt5 components to build this framework 0052 find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} NO_MODULE REQUIRED Core Widgets) 0053 0054 # Required KF5 frameworks 0055 find_package(KF${KF_MAJOR_VERSION}I18n ${KF5_VERSION} REQUIRED) 0056 0057 if (NOT WIN32) 0058 find_package(KF${KF_MAJOR_VERSION}WidgetsAddons ${KF5_VERSION} REQUIRED) 0059 find_package(KF${KF_MAJOR_VERSION}TextWidgets ${KF5_VERSION} REQUIRED) 0060 0061 # Optional KF5 frameworks 0062 find_package(KF${KF_MAJOR_VERSION}Wallet ${KF5_VERSION}) 0063 set_package_properties(KF${KF_MAJOR_VERSION}Wallet PROPERTIES DESCRIPTION "Safe desktop-wide storage for passwords" TYPE OPTIONAL 0064 PURPOSE "Required to have permanent storage of passwords for scanners" 0065 ) 0066 0067 # Check if sane API is available. 0068 find_package(KSaneCore "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}" REQUIRED) 0069 add_subdirectory(src) 0070 if (BUILD_TESTING) 0071 add_subdirectory(autotests) 0072 add_subdirectory(tests) 0073 endif() 0074 else () 0075 add_subdirectory(ksanetwain) 0076 endif() 0077 0078 add_definitions( 0079 -DQT_NO_CAST_TO_ASCII 0080 -DQT_NO_CAST_FROM_ASCII 0081 -DQT_NO_URL_CAST_FROM_STRING 0082 -DQT_NO_CAST_FROM_BYTEARRAY 0083 -DQT_NO_KEYWORDS 0084 -DQT_USE_QSTRINGBUILDER 0085 -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT 0086 -DQT_STRICT_ITERATORS 0087 ) 0088 add_definitions( 0089 -DQT_DISABLE_DEPRECATED_BEFORE=0x050F02 0090 -DQT_DEPRECATED_WARNINGS_SINCE=0x060000 0091 -DKF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x055800 0092 -DKF_DEPRECATED_WARNINGS_SINCE=0x060000 0093 ) 0094 0095 # Create a Config.cmake and a ConfigVersion.cmake file and install them 0096 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5Sane") 0097 0098 configure_package_config_file( 0099 "${CMAKE_CURRENT_SOURCE_DIR}/KF5SaneConfig.cmake.in" 0100 "${CMAKE_CURRENT_BINARY_DIR}/KF5SaneConfig.cmake" 0101 INSTALL_DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0102 ) 0103 0104 install(FILES 0105 "${CMAKE_CURRENT_BINARY_DIR}/KF5SaneConfig.cmake" 0106 "${CMAKE_CURRENT_BINARY_DIR}/KF5SaneConfigVersion.cmake" 0107 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0108 COMPONENT Devel 0109 ) 0110 0111 install(EXPORT 0112 KF5SaneTargets 0113 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0114 FILE KF5SaneTargets.cmake 0115 NAMESPACE KF5:: 0116 ) 0117 0118 install(FILES 0119 "${CMAKE_CURRENT_BINARY_DIR}/ksane_version.h" 0120 DESTINATION "${KDE_INSTALL_INCLUDEDIR_KF}" 0121 COMPONENT Devel 0122 ) 0123 0124 ki18n_install(po) 0125 0126 # ======================================================= 0127 0128 # To prevent warnings from M$ compiler 0129 IF(WIN32 AND MSVC) 0130 ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS) 0131 ADD_DEFINITIONS(-D_ATL_SECURE_NO_WARNINGS) 0132 ADD_DEFINITIONS(-D_AFX_SECURE_NO_WARNINGS) 0133 ENDIF(WIN32 AND MSVC) 0134 0135 # ======================================================= 0136 0137 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)