From cb9d702f06dbd15e703881ffc1e42cc39d197001 Mon Sep 17 00:00:00 2001 From: Snaipe Date: Thu, 19 Nov 2015 02:13:09 +0100 Subject: [PATCH] [Issue #77] Fixed msgmerge being called with --lang on versions <=0.17 by cmake. --- .cmake/Modules/GettextTranslate.cmake | 28 +++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/.cmake/Modules/GettextTranslate.cmake b/.cmake/Modules/GettextTranslate.cmake index 553b13d..02307ff 100644 --- a/.cmake/Modules/GettextTranslate.cmake +++ b/.cmake/Modules/GettextTranslate.cmake @@ -252,13 +252,29 @@ macro(GettextTranslate) else() - add_custom_target(${PO_TARGET} - COMMAND ${GettextTranslate_MSGMERGE_EXECUTABLE} --lang=${lang} - ${PO_FILE_NAME} ${TEMPLATE_FILE_ABS} - -o ${PO_FILE_NAME}.new - COMMAND mv ${PO_FILE_NAME}.new ${PO_FILE_NAME} - DEPENDS ${TEMPLATE_FILE_ABS} + execute_process( + COMMAND ${GettextTranslate_MSGMERGE_EXECUTABLE} --version + OUTPUT_VARIABLE MSGMERGE_VERSION_MSG ) + string(REGEX MATCH "[0-9]+\\.[0-9]+(\\.[0-9]+)?" MSGMERGE_VERSION "${MSGMERGE_VERSION_MSG}") + + if ("${MSGMERGE_VERSION}" VERSION_GREATER "0.17") + add_custom_target(${PO_TARGET} + COMMAND ${GettextTranslate_MSGMERGE_EXECUTABLE} --lang=${lang} + ${PO_FILE_NAME} ${TEMPLATE_FILE_ABS} + -o ${PO_FILE_NAME}.new + COMMAND mv ${PO_FILE_NAME}.new ${PO_FILE_NAME} + DEPENDS ${TEMPLATE_FILE_ABS} + ) + else () + add_custom_target(${PO_TARGET} + COMMAND ${GettextTranslate_MSGMERGE_EXECUTABLE} + ${PO_FILE_NAME} ${TEMPLATE_FILE_ABS} + -o ${PO_FILE_NAME}.new + COMMAND mv ${PO_FILE_NAME}.new ${PO_FILE_NAME} + DEPENDS ${TEMPLATE_FILE_ABS} + ) + endif () endif()