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 )