Warning, /utilities/keysmith/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: 2019 Bhushan Shah <bshah@kde.org> 0002 # SPDX-FileCopyrightText: 2019 Friedrich W. H. Kossebau <kossebau@kde.org> 0003 # SPDX-FileCopyrightText: 2019-2020 Johan Ouwerkerk <jm.ouwerkerk@gmail.com> 0004 # SPDX-FileCopyrightText: 2021 Devin Lin <espidev@gmail.com> 0005 # SPDX-License-Identifier: BSD-2-Clause 0006 0007 cmake_minimum_required(VERSION 3.16) 0008 0009 # KDE Applications version, managed by release script. 0010 set(RELEASE_SERVICE_VERSION_MAJOR "24") 0011 set(RELEASE_SERVICE_VERSION_MINOR "04") 0012 set(RELEASE_SERVICE_VERSION_MICRO "70") 0013 set(RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}") 0014 0015 project(keysmith VERSION ${RELEASE_SERVICE_VERSION}) 0016 0017 set(KF_MIN_VERSION "5.240.0") 0018 set(QT_MIN_VERSION "6.5.0") 0019 set(SODIUM_MIN_VERSION "1.0.16") 0020 set(KDE_COMPILERSETTINGS_LEVEL "5.240.0") 0021 0022 ################# Disallow in-source build ################# 0023 0024 if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}") 0025 message(FATAL_ERROR "This application requires an out of source build. Please create a separate build directory.") 0026 endif() 0027 0028 include(FeatureSummary) 0029 0030 ################# set KDE specific information ################# 0031 0032 find_package(ECM ${KF_MIN_VERSION} REQUIRED NO_MODULE) 0033 0034 # where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked 0035 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) 0036 0037 include(KDEInstallDirs) 0038 include(KDECMakeSettings) 0039 include(KDECompilerSettings NO_POLICY_SCOPE) 0040 0041 include(ECMAddTests) 0042 include(ECMPoQmTools) 0043 include(ECMAddAndroidApk) 0044 0045 set(CMAKE_CXX_STANDARD 17) 0046 set(CMAKE_CXX_STANDARD_REQUIRED ON) 0047 0048 ################# Find dependencies ################# 0049 0050 find_package(Qt6 ${QT_MIN_VERSION} REQUIRED NO_MODULE COMPONENTS Core Quick Gui Svg QuickControls2 Concurrent) 0051 find_package(KF6Kirigami ${KF_MIN_VERSION} REQUIRED) 0052 find_package(KF6I18n ${KF_MIN_VERSION} REQUIRED) 0053 0054 if(NOT ANDROID) 0055 find_package(Qt6 ${QT_MIN_VERSION} REQUIRED NO_MODULE COMPONENTS Widgets) 0056 endif() 0057 0058 find_package(Qt6Core5Compat REQUIRED) 0059 0060 if(NOT BUILD_EXTERNAL) 0061 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/") 0062 0063 message(STATUS "Will build against system version of: libsodium") 0064 find_package(sodium ${SODIUM_MIN_VERSION} REQUIRED) 0065 endif() 0066 0067 if (BUILD_DBUS_INTERFACE OR (NOT ANDROID AND NOT DEFINED BUILD_DBUS_INTERFACE)) 0068 find_package(KF6DBusAddons ${KF_MIN_VERSION} REQUIRED) 0069 find_package(KF6WindowSystem ${KF_MIN_VERSION} REQUIRED) 0070 set(ENABLE_DBUS_INTERFACE ON) 0071 endif() 0072 0073 ################ Find testing dependencies ########## 0074 0075 if (BUILD_TESTING) 0076 find_package(Qt6 ${QT_MIN_VERSION} CONFIG REQUIRED Test) 0077 endif() 0078 0079 ################# build and install ################# 0080 add_subdirectory(src) 0081 0082 if (ANDROID) 0083 add_subdirectory(android) 0084 endif() 0085 0086 if (BUILD_TESTING) 0087 add_subdirectory(autotests) 0088 endif() 0089 0090 install(PROGRAMS org.kde.keysmith.desktop DESTINATION ${KDE_INSTALL_APPDIR}) 0091 install(FILES keysmith.svg DESTINATION ${KDE_INSTALL_FULL_ICONDIR}/hicolor/scalable/apps/) 0092 install(FILES org.kde.keysmith.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR}) 0093 0094 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) 0095 0096 ################# install translations ################# 0097 ki18n_install(po)