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 )