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 )