summaryrefslogtreecommitdiffhomepage
path: root/cmake/opentrack-i18n.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/opentrack-i18n.cmake')
-rw-r--r--cmake/opentrack-i18n.cmake25
1 files changed, 14 insertions, 11 deletions
diff --git a/cmake/opentrack-i18n.cmake b/cmake/opentrack-i18n.cmake
index 297307b9..fca83248 100644
--- a/cmake/opentrack-i18n.cmake
+++ b/cmake/opentrack-i18n.cmake
@@ -1,21 +1,23 @@
include_guard(GLOBAL)
+if(POLICY CMP0177)
+ cmake_policy(SET CMP0177 NEW)
+endif()
+
add_custom_target(i18n-lupdate)
-set_property(TARGET i18n-lupdate PROPERTY FOLDER "i18n")
add_custom_target(i18n-lrelease DEPENDS i18n-lupdate)
-set_property(TARGET i18n-lrelease PROPERTY FOLDER "i18n")
add_custom_target(i18n ALL DEPENDS i18n-lrelease)
function(otr_i18n_for_target_directory n)
set(k "opentrack-${n}")
- get_property(lupdate-binary TARGET "Qt6::lupdate" PROPERTY IMPORTED_LOCATION)
+ get_property(lupdate-binary TARGET Qt6::lupdate PROPERTY IMPORTED_LOCATION)
#make_directory("${CMAKE_CURRENT_BINARY_DIR}/lang")
set(ts-files "")
foreach(k ${opentrack_all-translations})
- list(APPEND ts-files "lang/${k}.ts")
+ list(APPEND ts-files "${CMAKE_CURRENT_SOURCE_DIR}/lang/${k}.ts")
set_property(GLOBAL APPEND PROPERTY "opentrack-ts-files-${k}" "${CMAKE_CURRENT_SOURCE_DIR}/lang/${k}.ts")
endforeach()
set(stamp "${CMAKE_CURRENT_BINARY_DIR}/lupdate.stamp")
@@ -26,6 +28,7 @@ function(otr_i18n_for_target_directory n)
if (NOT EXISTS "${t}")
file(MAKE_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/lang")
file(READ "${CMAKE_SOURCE_DIR}/cmake/translation-stub.ts" stub)
+ string(REPLACE "@LANG@" "${i}" stub "${stub}")
file(WRITE "${t}" "${stub}")
endif()
endforeach()
@@ -48,22 +51,23 @@ function(otr_i18n_for_target_directory n)
-ts ${ts-files}
${to-null}
COMMAND "${CMAKE_COMMAND}" -E touch "${stamp}"
- DEPENDS ${${k}-cc} ${${k}-hh} ${${k}-uih} ${${k}-moc}
+ #BYPRODUCTS ${ts-files}
+ DEPENDS "opentrack-${n}"
COMMENT "Running lupdate for ${n}"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}")
set(target-name "i18n-module-${n}")
add_custom_target(${target-name} DEPENDS "${stamp}" COMMENT "")
- set_property(TARGET ${target-name} PROPERTY FOLDER "i18n")
add_dependencies(i18n-lupdate ${target-name})
endfunction()
function(otr_merge_translations)
otr_escape_string(i18n-pfx "${opentrack-i18n}")
- install(CODE "file(REMOVE_RECURSE \"\${CMAKE_INSTALL_PREFIX}/${i18n-pfx}\")")
+ #install(CODE "message(FATAL_ERROR \"foo \${CMAKE_INSTALL_PREFIX}\")")
+ #install(CODE "file(REMOVE_RECURSE \"\${CMAKE_INSTALL_PREFIX}/${i18n-pfx}\")")
foreach(i ${opentrack_all-translations})
get_property(ts-files GLOBAL PROPERTY "opentrack-ts-files-${i}")
- get_property(lrelease-binary TARGET "Qt6::lrelease" PROPERTY IMPORTED_LOCATION)
+ get_property(lrelease-binary TARGET Qt6::lrelease PROPERTY IMPORTED_LOCATION)
set(qm-output "${CMAKE_BINARY_DIR}/${i}.qm")
@@ -82,17 +86,16 @@ function(otr_merge_translations)
${ts-files}
-qm "${qm-output}"
${to-null}
- DEPENDS ${ts-files} i18n-lupdate
+ DEPENDS i18n-lupdate ${ts-files}
COMMENT "Running lrelease for ${i}"
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}")
set(target-name i18n-qm-${i})
add_custom_target(${target-name} DEPENDS "${qm-output}")
- set_property(TARGET ${target-name} PROPERTY FOLDER "i18n")
add_dependencies(i18n-lrelease ${target-name})
install(FILES "${qm-output}"
- DESTINATION "${CMAKE_INSTALL_PREFIX}/${opentrack-i18n}"
+ DESTINATION "${opentrack-i18n}"
PERMISSIONS ${opentrack-perms-file})
endforeach()
endfunction()