Warning, /graphics/digikam/core/utilities/geolocation/marble/plugins/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 #
0002 # SPDX-FileCopyrightText: 2010-2024 by Gilles Caulier, <caulier dot gilles at gmail dot com>
0003 #
0004 # SPDX-License-Identifier: BSD-3-Clause
0005 #
0006
0007 APPLY_COMMON_POLICIES()
0008
0009 include(CMakeParseArguments)
0010
0011 # -------------------------------------------------------------------------
0012
0013 # This macro implement the rules to compile and link a marble plugin with extra arguments.
0014 #
0015 # Usage: marble_add_plugin(NAME _plugin_name_
0016 # SOURCE _plugin_sources_
0017 # DEPENDS _plugin_dependencies_)
0018 #
0019 # With: _plugin_name_ the literal name of the plugin (mandatory).
0020 # _plugin_sources_ the list of source codes to compile (mandatory).
0021 # _plugin_dependencies_ the list of dependencies to link (optional).
0022 #
0023 macro(marble_add_plugin)
0024
0025 set(_OPTIONS_ARGS)
0026 set(_ONE_VALUE_ARGS)
0027 set(_MULTI_VALUE_ARGS NAME SOURCES DEPENDS)
0028
0029 cmake_parse_arguments(_parse_results "${_OPTIONS_ARGS}"
0030 "${_ONE_VALUE_ARGS}"
0031 "${_MULTI_VALUE_ARGS}"
0032 ${ARGN}
0033 )
0034
0035 # Mandatory
0036 if(NOT _parse_results_NAME)
0037 message(FATAL_ERROR "Marble plugin name is required.")
0038 endif()
0039
0040 if(NOT _parse_results_SOURCES)
0041 message(FATAL_ERROR "Marble plugin sources is required.")
0042 endif()
0043
0044 if(APPLE)
0045 set(_extra_deps /System/Library/Frameworks/AppKit.framework)
0046 endif()
0047
0048 add_library(${_parse_results_NAME}
0049 MODULE ${_parse_results_SOURCES})
0050
0051 target_link_libraries(${_parse_results_NAME}
0052
0053 PRIVATE
0054
0055 digikamcore
0056
0057 Qt${QT_VERSION_MAJOR}::Core
0058 Qt${QT_VERSION_MAJOR}::Gui
0059 Qt${QT_VERSION_MAJOR}::Xml
0060 Qt${QT_VERSION_MAJOR}::Widgets
0061 Qt${QT_VERSION_MAJOR}::Network
0062 Qt${QT_VERSION_MAJOR}::Svg
0063
0064 KF${QT_VERSION_MAJOR}::I18n
0065
0066 PNG::PNG # For zlib
0067
0068 ${_parse_results_DEPENDS}
0069 ${_extra_deps}
0070 )
0071
0072 if(Qt6_FOUND)
0073
0074 target_link_libraries(${_parse_results_NAME}
0075
0076 PRIVATE
0077
0078 Qt${QT_VERSION_MAJOR}::SvgWidgets
0079 )
0080
0081 endif()
0082
0083 install(TARGETS ${_parse_results_NAME}
0084 DESTINATION ${KDE_INSTALL_FULL_PLUGINDIR}/digikam/marble
0085 )
0086
0087 endmacro()
0088
0089 add_subdirectory(render)
0090 add_subdirectory(runner)