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)