Warning, /games/libkmahjongg/src/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: 2020-2023 Friedrich W. H. Kossebau <kossebau@kde.org>
0002 #
0003 # SPDX-License-Identifier: BSD-3-Clause
0004
0005 set(kmahjongg_INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR}/KMahjongg6)
0006 set(CMAKECONFIG_NAME "KMahjongglib6")
0007 set(LIBRARYFILE_NAME "KMahjongg6") # no need to repeat "lib" with the actualy library file name
0008 set(TARGET_EXPORT_NAME "KMahjongglib6")
0009
0010 if(BUILD_SVG_CHECKS)
0011 add_subdirectory(tools)
0012 endif()
0013
0014 add_definitions(-DTRANSLATION_DOMAIN="libkmahjongg6")
0015
0016 ecm_setup_version(${libkmahjongg_VERSION}
0017 VARIABLE_PREFIX KMAHJONGGLIB
0018 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kmahjongglib_version.h"
0019 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/${CMAKECONFIG_NAME}ConfigVersion.cmake"
0020 COMPATIBILITY SameMajorVersion
0021 SOVERSION 6
0022 )
0023
0024 add_library(KMahjongglib SHARED)
0025 set_target_properties(KMahjongglib PROPERTIES
0026 VERSION ${KMAHJONGGLIB_VERSION}
0027 SOVERSION ${KMAHJONGGLIB_SOVERSION}
0028 OUTPUT_NAME ${LIBRARYFILE_NAME}
0029 EXPORT_NAME ${TARGET_EXPORT_NAME}
0030 )
0031
0032 target_sources(KMahjongglib PRIVATE
0033 kmahjonggtileset.cpp kmahjonggtileset.h
0034 kmahjonggbackground.cpp kmahjonggbackground.h
0035 kmahjonggtilesetselector.cpp kmahjonggtilesetselector.h
0036 kmahjonggbackgroundselector.cpp kmahjonggbackgroundselector.h
0037 kmahjonggconfigdialog.cpp kmahjonggconfigdialog.h
0038 )
0039
0040 ecm_generate_headers(kmahjongg_LIB_CamelCase_HEADERS
0041 HEADER_NAMES
0042 KMahjonggTileset
0043 KMahjonggBackground
0044 KMahjonggConfigDialog
0045 REQUIRED_HEADERS kmahjongg_LIB_HEADERS
0046 )
0047
0048 ecm_qt_declare_logging_category(KMahjongglib
0049 HEADER libkmahjongg_debug.h
0050 IDENTIFIER LIBKMAHJONGG_LOG
0051 CATEGORY_NAME log_libkmahjongg
0052 DESCRIPTION "libkmahjongg"
0053 EXPORT KMAHJONGG
0054 )
0055
0056 ki18n_wrap_ui(KMahjongglib
0057 kmahjonggtilesetselector.ui
0058 kmahjonggbackgroundselector.ui
0059 )
0060
0061 ecm_generate_export_header(KMahjongglib
0062 BASE_NAME libkmahjongg
0063 VERSION ${libkmahjongg_VERSION}
0064 DEPRECATED_BASE_VERSION 0
0065 USE_VERSION_HEADER
0066 VERSION_BASE_NAME KMAHJONGGLIB
0067 )
0068
0069 target_link_libraries(KMahjongglib
0070 PUBLIC
0071 KF6::ConfigWidgets
0072 Qt6::Gui
0073 PRIVATE
0074 KF6::CoreAddons
0075 KF6::WidgetsAddons
0076 KF6::I18n
0077 KF6::ConfigGui
0078 Qt6::Core
0079 Qt6::Svg
0080 )
0081
0082 target_include_directories(KMahjongglib
0083 INTERFACE
0084 "$<INSTALL_INTERFACE:${kmahjongg_INCLUDE_INSTALL_DIR}>"
0085 )
0086
0087
0088 install(TARGETS KMahjongglib
0089 EXPORT KMahjonggTargets
0090 ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}
0091 )
0092
0093 install(FILES
0094 ${CMAKE_CURRENT_BINARY_DIR}/kmahjongglib_version.h
0095 ${CMAKE_CURRENT_BINARY_DIR}/libkmahjongg_export.h
0096 ${kmahjongg_LIB_HEADERS}
0097 ${kmahjongg_LIB_CamelCase_HEADERS}
0098 DESTINATION ${kmahjongg_INCLUDE_INSTALL_DIR}
0099 COMPONENT Devel
0100 )
0101
0102 ecm_qt_install_logging_categories(
0103 EXPORT KMAHJONGG
0104 FILE libkmahjongg.categories
0105 DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}
0106 )
0107
0108 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/${CMAKECONFIG_NAME}")
0109
0110 configure_package_config_file(
0111 "${CMAKE_CURRENT_SOURCE_DIR}/KMahjongglibConfig.cmake.in"
0112 "${CMAKE_CURRENT_BINARY_DIR}/${CMAKECONFIG_NAME}Config.cmake"
0113 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
0114 )
0115
0116 install(FILES
0117 "${CMAKE_CURRENT_BINARY_DIR}/${CMAKECONFIG_NAME}Config.cmake"
0118 "${CMAKE_CURRENT_BINARY_DIR}/${CMAKECONFIG_NAME}ConfigVersion.cmake"
0119 DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0120 COMPONENT Devel
0121 )
0122
0123 install(EXPORT KMahjonggTargets
0124 DESTINATION ${CMAKECONFIG_INSTALL_DIR}
0125 FILE ${CMAKECONFIG_NAME}Targets.cmake
0126 COMPONENT Devel
0127 )