Skip to content

Commit c8ecc87

Browse files
committed
Allow specifying installation directory when adding translations.
1 parent 5705555 commit c8ecc87

File tree

1 file changed

+13
-11
lines changed

1 file changed

+13
-11
lines changed

mo2_utils.cmake

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -351,12 +351,16 @@ endfunction()
351351
# this function adds a ${TARGET}_lrelease target
352352
#
353353
# \param:TARGET target to generate releases for
354-
# \param:INSTALL if set, QM files will be installed to bin/translations
354+
# \param:INSTALL if set, QM files will be installed
355+
# \param:DIRECTORY if INSTALL is set, path where translations should be installed,
356+
# default to bin/translations
355357
# \param:QM_FILE .qm file to generate
356358
# \param:TS_FILES source ts
357359
#
358360
function(mo2_add_lrelease TARGET)
359-
cmake_parse_arguments(MO2 "INSTALL" "QM_FILE" "TS_FILES" ${ARGN})
361+
cmake_parse_arguments(MO2 "INSTALL" "DIRECTORY;QM_FILE" "TS_FILES" ${ARGN})
362+
363+
mo2_set_if_not_defined(MO2_DIRECTORY "bin/translations")
360364

361365
mo2_find_qt_executable(lrelease_command lrelease)
362366

@@ -378,7 +382,7 @@ function(mo2_add_lrelease TARGET)
378382
FOLDER autogen)
379383

380384
if (${MO2_INSTALL})
381-
install(FILES ${MO2_QM_FILE} DESTINATION bin/translations)
385+
install(FILES ${MO2_QM_FILE} DESTINATION ${MO2_DIRECTORY})
382386
endif()
383387

384388
endfunction()
@@ -391,20 +395,17 @@ endfunction()
391395
# \param:TARGET target to generate translations for
392396
# \param:RELEASE if set, will use mo2_add_lrelease to generate .qm files
393397
# \param:INSTALL_RELEASE if true, will install generated .qm files (force RELEASE)
398+
# \param:INSTALL_DIRECTORY installation directory for .qm files, default to bin/translations
394399
# \param:TS_FILE intermediate .ts file to generate
395400
# \param:QM_FILE file .qm file to generate if RELEASE or INSTALL_RELEASE is set
396401
# \param:SOURCES source directories to look for translations, send to mo2_add_lupdate
397402
#
398403
function(mo2_add_translations TARGET)
399-
cmake_parse_arguments(MO2 "RELEASE;INSTALL_RELEASE" "TS_FILE;QM_FILE" "SOURCES" ${ARGN})
400-
401-
if (NOT MO2_TS_FILE)
402-
set(MO2_TS_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${TARGET}_en.ts)
403-
endif()
404+
cmake_parse_arguments(MO2 "RELEASE;INSTALL_RELEASE" "TS_FILE;QM_FILE;INSTALL_DIRECTORY" "SOURCES" ${ARGN})
404405

405-
if (NOT MO2_QM_FILE)
406-
set(MO2_QM_FILE ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}_en.qm)
407-
endif()
406+
mo2_set_if_not_defined(MO2_TS_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${TARGET}_en.ts)
407+
mo2_set_if_not_defined(MO2_QM_FILE ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}_en.qm)
408+
mo2_set_if_not_defined(MO2_INSTALL_DIRECTORY "bin/translations")
408409

409410
# force release with install
410411
if (${MO2_INSTALL_RELEASE})
@@ -416,6 +417,7 @@ function(mo2_add_translations TARGET)
416417
if (${MO2_RELEASE})
417418
mo2_add_lrelease(${TARGET}
418419
INSTALL ${MO2_INSTALL_RELEASE}
420+
DIRECTORY ${MO2_INSTALL_DIRECTORY}
419421
TS_FILES ${MO2_TS_FILE}
420422
QM_FILE ${MO2_QM_FILE})
421423

0 commit comments

Comments
 (0)