mirror of
https://github.com/anope/anope.git
synced 2026-06-26 13:16:38 +02:00
e66063e630
up into seperate files for each pseudo client. Also reorganized how the modules are stored, and made most of the old "extra" modules "core"
39 lines
1.7 KiB
CMake
39 lines
1.7 KiB
CMake
# Only do this if gettext is installed
|
|
if(GETTEXT_FOUND)
|
|
# Get all of the .po files
|
|
file(GLOB LANG_SRCS_PO RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.*.po")
|
|
sort_list(LANG_SRCS_PO)
|
|
|
|
foreach(LANG_PO ${LANG_SRCS_PO})
|
|
# Get the domain for this language file
|
|
string(LENGTH ${LANG_PO} LANG_PO_LENGTH)
|
|
math(EXPR DOMAIN_LENGTH "${LANG_PO_LENGTH} - 9")
|
|
string(SUBSTRING ${LANG_PO} 0 ${DOMAIN_LENGTH} LANG_DOMAIN)
|
|
|
|
# Get the language for this language file
|
|
math(EXPR DOMAIN_LENGTH "${LANG_PO_LENGTH} - 8")
|
|
string(SUBSTRING ${LANG_PO} ${DOMAIN_LENGTH} 5 LANG_LANG)
|
|
|
|
# Get the .mo file name
|
|
string(REGEX REPLACE "\\.po$" ".mo" LANG_MO ${LANG_PO})
|
|
# Add the .mo file to a list for use later with add_custom_target
|
|
set(LANG_SRCS_MO ${LANG_SRCS_MO} ${CMAKE_CURRENT_BINARY_DIR}/${LANG_MO})
|
|
# Run msgfmt on the language file, depends on the .po file
|
|
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${LANG_MO}
|
|
COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -c ${CMAKE_CURRENT_SOURCE_DIR}/${LANG_PO} -o ${CMAKE_CURRENT_BINARY_DIR}/${LANG_MO}
|
|
MAIN_DEPENDENCY ${LANG_PO}
|
|
)
|
|
# Add to cpack ignored files if not on Windows.
|
|
if(NOT WIN32)
|
|
add_to_cpack_ignored_files("${LANG_MO}")
|
|
endif(NOT WIN32)
|
|
|
|
# Install the new language file
|
|
install(CODE "FILE(MAKE_DIRECTORY \${CMAKE_INSTALL_PREFIX}/data/languages/${LANG_LANG}/LC_MESSAGES/)")
|
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${LANG_MO} DESTINATION data/languages/${LANG_LANG}/LC_MESSAGES RENAME ${LANG_DOMAIN}.mo PERMISSIONS ${PERMS})
|
|
endforeach(LANG_PO)
|
|
|
|
# Generate languages, depends on the mo files
|
|
add_custom_target(module_language DEPENDS ${LANG_SRCS_MO})
|
|
endif(GETTEXT_FOUND)
|