File: FindGettext.cmake

package info (click to toggle)
gpick 0.2.6-1.3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 2,824 kB
  • sloc: cpp: 27,984; python: 738; xml: 70; makefile: 37; sh: 10
file content (27 lines) | stat: -rw-r--r-- 961 bytes parent folder | download | duplicates (2)
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
cmake_minimum_required(VERSION 3.5)
find_program(MSGMERGE_EXECUTABLE NAMES msgmerge)
find_program(MSGFMT_EXECUTABLE NAMES msgfmt)
find_program(MSGCAT_EXECUTABLE NAMES msgcat)
find_program(XGETTEXT_EXECUTABLE NAMES xgettext)
mark_as_advanced(MSGFMT_EXECUTABLE)
mark_as_advanced(MSGMERGE_EXECUTABLE)
mark_as_advanced(MSGCAT_EXECUTABLE)
mark_as_advanced(XGETTEXT_EXECUTABLE)
if (MSGFMT_EXECUTABLE)
	macro(MSGFMT_TARGET Name Input Output)
		get_filename_component(dir ${Output} DIRECTORY)
		file(MAKE_DIRECTORY ${dir})
		add_custom_command(
			OUTPUT ${Output}
			COMMAND ${MSGFMT_EXECUTABLE}
			ARGS ${MSGFMT_EXECUTABLE_opts} -f -o ${Output} ${Input}
			DEPENDS ${Input}
			COMMENT "Compiling translations ${Output}"
			WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
		)
		set(MSGFMT_${Name}_DEFINED TRUE)
		set(MSGFMT_${Name}_OUTPUTS ${Output})
		set(MSGFMT_${Name}_INPUT ${Input})
		set(MSGFMT_${Name}_COMPILE_FLAGS ${MSGFMT_EXECUTABLE_opts})
	endmacro()
endif()