annotate cmake/MolkoBuildTranslations.cmake @ 245:97f55f6b9593

doc: add CMake macros documentation
author David Demelier <markand@malikania.fr>
date Mon, 30 Nov 2020 10:54:59 +0100
parents 498da86d1cd7
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
241
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 #
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 # MolkoBuildTranslations.cmake -- CMake build system for molko
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 #
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 # Copyright (c) 2020 David Demelier <markand@malikania.fr>
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 #
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 # Permission to use, copy, modify, and/or distribute this software for any
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 # purpose with or without fee is hereby granted, provided that the above
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 # copyright notice and this permission notice appear in all copies.
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 #
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 #
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
243
71b3b7036de7 misc: lot of cleanups,
David Demelier <markand@malikania.fr>
parents: 242
diff changeset
19 #
245
97f55f6b9593 doc: add CMake macros documentation
David Demelier <markand@malikania.fr>
parents: 244
diff changeset
20 # # molko_build_translations
97f55f6b9593 doc: add CMake macros documentation
David Demelier <markand@malikania.fr>
parents: 244
diff changeset
21 #
97f55f6b9593 doc: add CMake macros documentation
David Demelier <markand@malikania.fr>
parents: 244
diff changeset
22 # Build translations and update them.
243
71b3b7036de7 misc: lot of cleanups,
David Demelier <markand@malikania.fr>
parents: 242
diff changeset
23 #
245
97f55f6b9593 doc: add CMake macros documentation
David Demelier <markand@malikania.fr>
parents: 244
diff changeset
24 # ## Synopsis
243
71b3b7036de7 misc: lot of cleanups,
David Demelier <markand@malikania.fr>
parents: 242
diff changeset
25 #
245
97f55f6b9593 doc: add CMake macros documentation
David Demelier <markand@malikania.fr>
parents: 244
diff changeset
26 # ```cmake
243
71b3b7036de7 misc: lot of cleanups,
David Demelier <markand@malikania.fr>
parents: 242
diff changeset
27 # molko_build_translations(
71b3b7036de7 misc: lot of cleanups,
David Demelier <markand@malikania.fr>
parents: 242
diff changeset
28 # TARGET target name
71b3b7036de7 misc: lot of cleanups,
David Demelier <markand@malikania.fr>
parents: 242
diff changeset
29 # SOURCES target sources
71b3b7036de7 misc: lot of cleanups,
David Demelier <markand@malikania.fr>
parents: 242
diff changeset
30 # OUTPUTS output variable
71b3b7036de7 misc: lot of cleanups,
David Demelier <markand@malikania.fr>
parents: 242
diff changeset
31 # TRANSLATIONS list of localizations
71b3b7036de7 misc: lot of cleanups,
David Demelier <markand@malikania.fr>
parents: 242
diff changeset
32 # )
245
97f55f6b9593 doc: add CMake macros documentation
David Demelier <markand@malikania.fr>
parents: 244
diff changeset
33 # ```
243
71b3b7036de7 misc: lot of cleanups,
David Demelier <markand@malikania.fr>
parents: 242
diff changeset
34 #
244
498da86d1cd7 cmake: create a unique TARGET-po target to update translations
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
35 # Generate target and output commands for NLS (via GNU gettext) support for the
245
97f55f6b9593 doc: add CMake macros documentation
David Demelier <markand@malikania.fr>
parents: 244
diff changeset
36 # given *TARGET* name.
243
71b3b7036de7 misc: lot of cleanups,
David Demelier <markand@malikania.fr>
parents: 242
diff changeset
37 #
245
97f55f6b9593 doc: add CMake macros documentation
David Demelier <markand@malikania.fr>
parents: 244
diff changeset
38 # The argument *SOURCES* must contain sources to extract gettext keywords, it
97f55f6b9593 doc: add CMake macros documentation
David Demelier <markand@malikania.fr>
parents: 244
diff changeset
39 # will search for _, N_. The list of *SOURCES* can contain any files, only .c
97f55f6b9593 doc: add CMake macros documentation
David Demelier <markand@malikania.fr>
parents: 244
diff changeset
40 # and .h will be filtered.
243
71b3b7036de7 misc: lot of cleanups,
David Demelier <markand@malikania.fr>
parents: 242
diff changeset
41 #
245
97f55f6b9593 doc: add CMake macros documentation
David Demelier <markand@malikania.fr>
parents: 244
diff changeset
42 # The argument *OUTPUTS* will be set with the generated .mo files in the binary
97f55f6b9593 doc: add CMake macros documentation
David Demelier <markand@malikania.fr>
parents: 244
diff changeset
43 # directory and installed to *CMAKE_INSTALL_LOCALEDIR*.
243
71b3b7036de7 misc: lot of cleanups,
David Demelier <markand@malikania.fr>
parents: 242
diff changeset
44 #
245
97f55f6b9593 doc: add CMake macros documentation
David Demelier <markand@malikania.fr>
parents: 244
diff changeset
45 # The argument *TRANSLATIONS* should contain a list of languages supported in the
243
71b3b7036de7 misc: lot of cleanups,
David Demelier <markand@malikania.fr>
parents: 242
diff changeset
46 # gettext form (ll_LL@variant, see ISO 639 and ISO 3166 for more details).
71b3b7036de7 misc: lot of cleanups,
David Demelier <markand@malikania.fr>
parents: 242
diff changeset
47 #
245
97f55f6b9593 doc: add CMake macros documentation
David Demelier <markand@malikania.fr>
parents: 244
diff changeset
48 # This macro create a `<TARGET>-po` target that will recreate the .pot file and
244
498da86d1cd7 cmake: create a unique TARGET-po target to update translations
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
49 # every .po files in the nls/ directory for each language specified in
245
97f55f6b9593 doc: add CMake macros documentation
David Demelier <markand@malikania.fr>
parents: 244
diff changeset
50 # *TRANSLATIONS*. Note, if you add a new language into translations but do not
97f55f6b9593 doc: add CMake macros documentation
David Demelier <markand@malikania.fr>
parents: 244
diff changeset
51 # copy the .pot file, a warning will be issued and you should copy the .pot
97f55f6b9593 doc: add CMake macros documentation
David Demelier <markand@malikania.fr>
parents: 244
diff changeset
52 # file as the new .po language file.
243
71b3b7036de7 misc: lot of cleanups,
David Demelier <markand@malikania.fr>
parents: 242
diff changeset
53 #
244
498da86d1cd7 cmake: create a unique TARGET-po target to update translations
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
54 # Since the target is modifying files directly in the source tree they are not
498da86d1cd7 cmake: create a unique TARGET-po target to update translations
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
55 # included in any build process and must be invoked manually.
243
71b3b7036de7 misc: lot of cleanups,
David Demelier <markand@malikania.fr>
parents: 242
diff changeset
56 #
71b3b7036de7 misc: lot of cleanups,
David Demelier <markand@malikania.fr>
parents: 242
diff changeset
57
241
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
58 if (MOLKO_WITH_NLS)
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
59 find_program(XGETTEXT_EXE xgettext)
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
60 find_program(MSGMERGE_EXE msgmerge)
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
61 find_program(MSGFMT_EXE msgfmt)
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
62 endif ()
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
63
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
64 if (MOLKO_WITH_NLS AND XGETTEXT_EXE AND MSGMERGE_EXE)
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
65 macro(molko_build_translations)
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
66 set(options)
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
67 set(oneValueArgs TARGET OUTPUTS)
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
68 set(multiValueArgs SOURCES TRANSLATIONS)
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
69
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
70 cmake_parse_arguments(NLS "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
71
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
72 if (NOT NLS_OUTPUTS)
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
73 message(FATAL_ERROR "Missing OUTPUTS argument")
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
74 endif ()
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
75 if (NOT NLS_TARGET)
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
76 message(FATAL_ERROR "Missing TARGET argument")
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
77 endif ()
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
78 if (NOT NLS_SOURCES)
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
79 message(FATAL_ERROR "Missing SOURCES argument")
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
80 endif ()
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
81
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
82 # Remove non C files.
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
83 list(FILTER NLS_SOURCES INCLUDE REGEX "\\.[ch$]")
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
84 set(pot ${CMAKE_CURRENT_SOURCE_DIR}/nls/${NLS_TARGET}.pot)
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
85
244
498da86d1cd7 cmake: create a unique TARGET-po target to update translations
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
86 # First command to generate the .pot.
498da86d1cd7 cmake: create a unique TARGET-po target to update translations
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
87 list(
498da86d1cd7 cmake: create a unique TARGET-po target to update translations
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
88 APPEND
498da86d1cd7 cmake: create a unique TARGET-po target to update translations
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
89 commands
498da86d1cd7 cmake: create a unique TARGET-po target to update translations
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
90 COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_SOURCE_DIR}/nls
498da86d1cd7 cmake: create a unique TARGET-po target to update translations
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
91 COMMAND ${XGETTEXT_EXE} -cj -k_ -kN_ -LC -s -o ${pot} ${NLS_SOURCES}
241
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
92 )
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
93
244
498da86d1cd7 cmake: create a unique TARGET-po target to update translations
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
94 #
498da86d1cd7 cmake: create a unique TARGET-po target to update translations
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
95 # For every translation create a msgmerge command and output
498da86d1cd7 cmake: create a unique TARGET-po target to update translations
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
96 # file.
498da86d1cd7 cmake: create a unique TARGET-po target to update translations
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
97 #
241
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
98 set(outputs)
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
99
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
100 foreach (t ${NLS_TRANSLATIONS})
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
101 set(po ${CMAKE_CURRENT_SOURCE_DIR}/nls/${t}.po)
242
4c24604efcab cmake: create build hierarchy similar to install, closes #2518 @1h
David Demelier <markand@malikania.fr>
parents: 241
diff changeset
102
244
498da86d1cd7 cmake: create a unique TARGET-po target to update translations
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
103 #
498da86d1cd7 cmake: create a unique TARGET-po target to update translations
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
104 # If library dir isn't absolute, install them in the
498da86d1cd7 cmake: create a unique TARGET-po target to update translations
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
105 # build directory so we can use translations during
498da86d1cd7 cmake: create a unique TARGET-po target to update translations
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
106 # development.
498da86d1cd7 cmake: create a unique TARGET-po target to update translations
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
107 #
242
4c24604efcab cmake: create build hierarchy similar to install, closes #2518 @1h
David Demelier <markand@malikania.fr>
parents: 241
diff changeset
108 if (NOT IS_ABSOLUTE ${CMAKE_INSTALL_LIBDIR})
4c24604efcab cmake: create build hierarchy similar to install, closes #2518 @1h
David Demelier <markand@malikania.fr>
parents: 241
diff changeset
109 set(modir ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${CMAKE_INSTALL_LOCALEDIR}/${t}/LC_MESSAGES)
4c24604efcab cmake: create build hierarchy similar to install, closes #2518 @1h
David Demelier <markand@malikania.fr>
parents: 241
diff changeset
110 set(mo ${modir}/${NLS_TARGET}.mo)
4c24604efcab cmake: create build hierarchy similar to install, closes #2518 @1h
David Demelier <markand@malikania.fr>
parents: 241
diff changeset
111 else ()
4c24604efcab cmake: create build hierarchy similar to install, closes #2518 @1h
David Demelier <markand@malikania.fr>
parents: 241
diff changeset
112 set(modir ${CMAKE_CURRENT_BINARY_DIR}/${t})
4c24604efcab cmake: create build hierarchy similar to install, closes #2518 @1h
David Demelier <markand@malikania.fr>
parents: 241
diff changeset
113 set(mo ${CMAKE_CURRENT_BINARY_DIR}/${NLS_TARGET}.mo)
4c24604efcab cmake: create build hierarchy similar to install, closes #2518 @1h
David Demelier <markand@malikania.fr>
parents: 241
diff changeset
114 endif ()
241
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
115
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
116 if (NOT EXISTS ${po})
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
117 message(WARNING "Missing translation ${po}")
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
118 endif ()
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
119
244
498da86d1cd7 cmake: create a unique TARGET-po target to update translations
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
120 # Commands to generate .po files from the .pot.
498da86d1cd7 cmake: create a unique TARGET-po target to update translations
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
121 list(APPEND commands COMMAND ${MSGMERGE_EXE} --backup=off -q -U ${po} ${pot})
241
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
122
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
123 # Finally generate a .mo output from po file.
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
124 add_custom_command(
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
125 OUTPUT ${mo}
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
126 VERBATIM
242
4c24604efcab cmake: create build hierarchy similar to install, closes #2518 @1h
David Demelier <markand@malikania.fr>
parents: 241
diff changeset
127 COMMAND ${CMAKE_COMMAND} -E make_directory ${modir}
241
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
128 COMMAND ${MSGFMT_EXE} -o ${mo} ${po}
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
129 DEPENDS ${po}
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
130 COMMENT "Generating translation binary ${mo}"
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
131 )
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
132
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
133 list(APPEND outputs ${mo})
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
134
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
135 install(
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
136 FILES ${mo}
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
137 DESTINATION ${CMAKE_INSTALL_LOCALEDIR}/${t}/LC_MESSAGES
244
498da86d1cd7 cmake: create a unique TARGET-po target to update translations
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
138 RENAME ${NLS_TARGET}.mo
241
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
139 )
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
140 endforeach ()
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
141
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
142 set(${NLS_OUTPUTS} ${outputs})
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
143 source_group("mo" FILES ${outputs})
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
144
244
498da86d1cd7 cmake: create a unique TARGET-po target to update translations
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
145 # User target to update .pot and .po files.
241
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
146 add_custom_target(
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
147 ${NLS_TARGET}-po
244
498da86d1cd7 cmake: create a unique TARGET-po target to update translations
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
148 VERBATIM
498da86d1cd7 cmake: create a unique TARGET-po target to update translations
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
149 COMMENT "Generating translations for ${NLS_TARGET}"
498da86d1cd7 cmake: create a unique TARGET-po target to update translations
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
150 ${commands}
241
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
151 )
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
152
244
498da86d1cd7 cmake: create a unique TARGET-po target to update translations
David Demelier <markand@malikania.fr>
parents: 243
diff changeset
153 set_target_properties(${NLS_TARGET}-po PROPERTIES FOLDER nls)
241
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
154 endmacro()
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
155 else ()
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
156 function(molko_build_translations)
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
157 endfunction()
76afe639fd72 misc: add support for NLS, closes #22510 @4h
David Demelier <markand@malikania.fr>
parents:
diff changeset
158 endif ()