mirror of
https://invent.kde.org/network/falkon.git
synced 2024-11-11 01:22:10 +01:00
Fix installing translations
When there are mixed gettext and qt translations, they get downloaded to separate po and poqm folders, so it is no longer needed to handle it manually.
This commit is contained in:
parent
3bb56fb47d
commit
288585f91a
|
@ -83,6 +83,9 @@ if (WIN32)
|
|||
add_definitions(-D_WIN32_WINNT=${ver})
|
||||
endif()
|
||||
|
||||
# Mandatory: KF5I18n (only for ki18n_install)
|
||||
find_package(KF5I18n REQUIRED)
|
||||
|
||||
# Optional: GnomeKeyring
|
||||
find_package(PkgConfig)
|
||||
if (PKG_CONFIG_FOUND)
|
||||
|
|
|
@ -1,46 +0,0 @@
|
|||
# Copyright (c) 2017 Aleix Pol Gonzalez <aleixpol@kde.org>
|
||||
# Copyright (c) 2017 Harald Sitter <sitter@kde.org>
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. Neither the name of the University nor the names of its contributors
|
||||
# may be used to endorse or promote products derived from this software
|
||||
# without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
# SUCH DAMAGE.
|
||||
|
||||
file(GLOB_RECURSE pofiles RELATIVE "${PO_DIR}" "${PO_DIR}/**.po")
|
||||
|
||||
foreach(pofile IN LISTS pofiles)
|
||||
if (NOT pofile MATCHES "_qt.po")
|
||||
get_filename_component(name ${pofile} NAME_WE)
|
||||
get_filename_component(langdir ${pofile} DIRECTORY)
|
||||
set(dest ${COPY_TO}/${langdir}/LC_MESSAGES)
|
||||
file(MAKE_DIRECTORY ${dest})
|
||||
|
||||
message(STATUS "building... ${pofile} to ${name}.mo" )
|
||||
execute_process(
|
||||
COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -o ${dest}/${name}.mo ${PO_DIR}/${pofile}
|
||||
RESULT_VARIABLE code
|
||||
)
|
||||
if(code)
|
||||
message(FATAL_ERROR "failed at generating ${name}.mo")
|
||||
endif()
|
||||
endif()
|
||||
endforeach()
|
|
@ -17,60 +17,6 @@ add_executable(falkon ${SRCS})
|
|||
|
||||
target_link_libraries(falkon FalkonPrivate)
|
||||
|
||||
# Same as ecm_install_po_files_as_qm, but only for *_qt.po
|
||||
function(install_po_files_as_qm podir)
|
||||
if (LOCALE_INSTALL_DIR)
|
||||
set(locale_install_destination "${LOCALE_INSTALL_DIR}")
|
||||
elseif (CMAKE_INSTALL_LOCALEDIR)
|
||||
set(locale_install_destination "${CMAKE_INSTALL_LOCALEDIR}")
|
||||
else()
|
||||
set(locale_install_destination share/locale)
|
||||
endif()
|
||||
file(GLOB po_files "${podir}/*/*_qt.po")
|
||||
foreach(po_file ${po_files})
|
||||
get_filename_component(po_dir ${po_file} DIRECTORY)
|
||||
get_filename_component(lang ${po_dir} NAME)
|
||||
ecm_process_po_files_as_qm(
|
||||
${lang} ALL
|
||||
PO_FILES ${po_file}
|
||||
INSTALL_DESTINATION ${locale_install_destination}
|
||||
)
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
||||
# Same as ki18n_install, but skips *_qt.po
|
||||
function(install_po_files podir)
|
||||
if (LOCALE_INSTALL_DIR)
|
||||
set(locale_install_destination "${LOCALE_INSTALL_DIR}")
|
||||
elseif (CMAKE_INSTALL_LOCALEDIR)
|
||||
set(locale_install_destination "${CMAKE_INSTALL_LOCALEDIR}")
|
||||
else()
|
||||
set(locale_install_destination share/locale)
|
||||
endif()
|
||||
get_filename_component(dirname ${locale_install_destination} NAME)
|
||||
get_filename_component(destname ${locale_install_destination} DIRECTORY)
|
||||
|
||||
get_filename_component(absolute_podir ${podir} ABSOLUTE)
|
||||
string(MD5 pathmd5 ${absolute_podir})
|
||||
|
||||
add_custom_target(pofiles-${pathmd5} ALL
|
||||
COMMENT "Generating mo..."
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-DGETTEXT_MSGFMT_EXECUTABLE=${GETTEXT_MSGFMT_EXECUTABLE}
|
||||
-DCOPY_TO=${CMAKE_CURRENT_BINARY_DIR}/${dirname}
|
||||
-DPO_DIR=${absolute_podir}
|
||||
-P ${CMAKE_SOURCE_DIR}/cmake/build-po-files.cmake
|
||||
)
|
||||
|
||||
if (NOT TARGET pofiles)
|
||||
add_custom_target(pofiles)
|
||||
endif()
|
||||
add_dependencies(pofiles pofiles-${pathmd5})
|
||||
|
||||
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${dirname})
|
||||
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${dirname} DESTINATION ${destname})
|
||||
endfunction()
|
||||
|
||||
if (APPLE)
|
||||
set_target_properties(falkon PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/main/Info.plist)
|
||||
set_target_properties(falkon PROPERTIES MACOSX_BUNDLE_GUI_IDENTIFIER "org.kde.falkon")
|
||||
|
@ -88,8 +34,8 @@ endif()
|
|||
if (UNIX AND NOT APPLE)
|
||||
install(TARGETS falkon ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
|
||||
install(DIRECTORY ${CMAKE_SOURCE_DIR}/themes DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/falkon)
|
||||
install_po_files_as_qm(${CMAKE_SOURCE_DIR}/po)
|
||||
install_po_files(${CMAKE_SOURCE_DIR}/po)
|
||||
ki18n_install(${CMAKE_SOURCE_DIR}/po)
|
||||
ecm_install_po_files_as_qm(${CMAKE_SOURCE_DIR}/poqm)
|
||||
|
||||
install(PROGRAMS ../../linux/applications/org.kde.falkon.desktop DESTINATION ${KDE_INSTALL_APPDIR})
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user