File: CMakeLists.txt

package info (click to toggle)
cupt 2.10.3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 3,104 kB
  • sloc: cpp: 23,604; perl: 1,524; sh: 40; makefile: 19
file content (28 lines) | stat: -rw-r--r-- 885 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
include(FindGettext)

# existing targets don't suit:
# GETTEXT_CREATE_TRANSLATIONS modifies .po-files during the build
# GETTEXT_PROCESS_POT_FILE deletes .po-files in the 'clean' target
# GETTEXT_PROCESS_PO_FILES is limited to a single language and cannot be issued
#   several times due to 'duplicate targets error'

MACRO(CUPT_PROCESS_PO)
	FOREACH(_lang ${ARGN})
		GET_FILENAME_COMPONENT(_absPoFile ${_lang}.po ABSOLUTE)
		SET(_moFile ${CMAKE_CURRENT_BINARY_DIR}/${_lang}.mo)

		ADD_CUSTOM_COMMAND(
			OUTPUT ${_moFile}
			COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -o ${_moFile} ${_absPoFile}
			DEPENDS ${_absPoFile}
		)

		INSTALL(FILES ${_moFile} DESTINATION share/locale/${_lang}/LC_MESSAGES RENAME cupt.mo)
		SET(_moFiles ${_moFiles} ${_moFile})
	ENDFOREACH(_lang)

	ADD_CUSTOM_TARGET(translations ALL DEPENDS ${_moFiles})
ENDMACRO(CUPT_PROCESS_PO)


CUPT_PROCESS_PO(pl da sk fr de)