Warning, /frameworks/ki18n/src/localedata/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: 2021 Volker Krause <vkrause@kde.org>
0002 # SPDX-License-Identifier: BSD-3-Clause
0003
0004 option(KI18N_EMBEDDED_ISO_CODES_CACHE "Use compiled-in iso-codes data." OFF)
0005
0006 configure_file("${CMAKE_CURRENT_SOURCE_DIR}/config-localedata.h.in" "${CMAKE_CURRENT_BINARY_DIR}/config-localedata.h")
0007 add_subdirectory(cachegen)
0008
0009 add_library(KF6I18nLocaleData)
0010 add_library(KF6::I18nLocaleData ALIAS KF6I18nLocaleData)
0011
0012 set_target_properties(KF6I18nLocaleData PROPERTIES
0013 VERSION ${KI18N_VERSION}
0014 SOVERSION ${KI18N_SOVERSION}
0015 EXPORT_NAME I18nLocaleData
0016 )
0017
0018 target_sources(KF6I18nLocaleData PRIVATE
0019 isocodes.cpp
0020 isocodescache.cpp
0021 kcountry.cpp
0022 kcountrysubdivision.cpp
0023 ktimezone.cpp
0024 spatial_index.cpp
0025 spatial_index_entry.cpp
0026 spatial_index_property.cpp
0027 timezonedata.cpp
0028 )
0029
0030 ecm_generate_export_header(KF6I18nLocaleData
0031 BASE_NAME KI18nLocaleData
0032 GROUP_BASE_NAME KF
0033 VERSION ${KF_VERSION}
0034 USE_VERSION_HEADER
0035 VERSION_BASE_NAME KI18n
0036 DEPRECATED_BASE_VERSION 0
0037 EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT}
0038 )
0039
0040 ecm_qt_declare_logging_category(KF6I18nLocaleData
0041 HEADER logging.h
0042 IDENTIFIER KI18NLD
0043 CATEGORY_NAME kf.i18n.localeData
0044 DESCRIPTION "KI18n Locale Data"
0045 EXPORT KI18N
0046 )
0047
0048 if (KI18N_EMBEDDED_ISO_CODES_CACHE)
0049 add_custom_command(
0050 OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/iso_3166-1
0051 COMMAND ki18n-iso-codes-cachegen --input ${IsoCodes_PREFIX}/share/iso-codes/json/iso_3166-1.json --output ${CMAKE_CURRENT_BINARY_DIR}/iso_3166-1 --code 3166-1
0052 DEPENDS ${IsoCodes_PREFIX}/share/iso-codes/json/iso_3166-1.json
0053 COMMENT "Generating ISO 3166-1 cache"
0054 )
0055 add_custom_command(
0056 OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/iso_3166-2
0057 COMMAND ki18n-iso-codes-cachegen --input ${IsoCodes_PREFIX}/share/iso-codes/json/iso_3166-2.json --output ${CMAKE_CURRENT_BINARY_DIR}/iso_3166-2 --code 3166-2
0058 DEPENDS ${IsoCodes_PREFIX}/share/iso-codes/json/iso_3166-2.json
0059 COMMENT "Generating ISO 3166-2 cache"
0060 )
0061 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/isocodescache.qrc ${CMAKE_CURRENT_BINARY_DIR}/isocodescache.qrc)
0062 target_sources(KF6I18nLocaleData PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/isocodescache.qrc)
0063 endif()
0064
0065 target_include_directories(KF6I18nLocaleData
0066 INTERFACE
0067 "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KI18nLocaleData>"
0068 "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KI18n>" # for version header
0069 PUBLIC
0070 "$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>" # for version header
0071 )
0072
0073 target_link_libraries(KF6I18nLocaleData PUBLIC Qt6::Core)
0074 target_link_libraries(KF6I18nLocaleData PRIVATE KF6I18n)
0075 target_compile_options(KF6I18n PRIVATE -DTRANSLATION_DOMAIN=\"ki18n6\")
0076
0077 install(TARGETS KF6I18nLocaleData EXPORT KF6I18nTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS})
0078
0079 ecm_generate_headers(KI18nLocaleData_HEADERS
0080 HEADER_NAMES
0081 KCountry
0082 KCountrySubdivision
0083 KTimeZone
0084 REQUIRED_HEADERS KI18nLocaleData_HEADERS
0085 )
0086
0087 install(FILES
0088 ${KI18nLocaleData_HEADERS}
0089 ${CMAKE_CURRENT_BINARY_DIR}/ki18nlocaledata_export.h
0090 DESTINATION "${KDE_INSTALL_INCLUDEDIR_KF}/KI18nLocaleData" COMPONENT Devel
0091 )