MESSAGE( STATUS "..:: CMAKE PO ::..")

PROJECT(po)

FIND_PROGRAM(SKG_INTLTOOL_UPDATE intltool-update)
MARK_AS_ADVANCED(SKG_INTLTOOL_UPDATE)

FIND_PROGRAM(SKG_XGETTEXT xgettext)
MARK_AS_ADVANCED(SKG_XGETTEXT)

FIND_PROGRAM(SKG_MSGMERGE msgmerge)
MARK_AS_ADVANCED(SKG_MSGMERGE)

FIND_PROGRAM(SKG_MSGFMT msgfmt)
MARK_AS_ADVANCED(SKG_MSGFMT)

SET(SKG_CATALOGS
	fr
	it
	pt_BR
)

CONFIGURE_FILE(listFiles.sh.in ${po_BINARY_DIR}/listFiles.sh @ONLY)
ADD_CUSTOM_TARGET(skg-nls-set-permissions ALL chmod +x ${po_BINARY_DIR}/listFiles.sh)

ADD_CUSTOM_TARGET(skg-nls ALL)
ADD_CUSTOM_TARGET(skg-nls-update-sources ${SKG_INTLTOOL_UPDATE} -m WORKING_DIRECTORY ${po_SOURCE_DIR})
ADD_CUSTOM_TARGET(skg-nls-listfiles ALL ${po_BINARY_DIR}/listFiles.sh)

ADD_CUSTOM_TARGET(skg-nls-skrooge.pot ALL
${SKG_XGETTEXT} --files-from ${po_BINARY_DIR}/potfiles.in --keyword=tr --keyword=tr2i18n --keyword=I18N_NOOP --keyword=ki18n --keyword=ki18np --keyword=ki18nc --keyword=ki18npc --keyword=i18n --keyword=i18np --keyword=i18nc --keyword=i18npc -o ${po_BINARY_DIR}/skrooge.pot --copyright-holder="Stephane MANKOWSKI / Guillaume DE BURE"  --msgid-bugs-address="skrooge@lists.sourceforge.net" --no-wrap --no-location --from-code="UTF-8"
WORKING_DIRECTORY ${po_BINARY_DIR}
)
ADD_DEPENDENCIES(skg-nls-listfiles skg-nls-set-permissions)
ADD_DEPENDENCIES(skg-nls-skrooge.pot skg-nls-listfiles)

FOREACH(catalog ${SKG_CATALOGS})
	ADD_CUSTOM_TARGET(
		skg-nls-update-${catalog}.po ALL
		COMMAND ${SKG_MSGMERGE} --no-wrap --update ${CMAKE_SOURCE_DIR}/po/${catalog}/LC_MESSAGES/skrooge.po ${po_BINARY_DIR}/skrooge.pot
		WORKING_DIRECTORY ${po_BINARY_DIR}
	)
	ADD_DEPENDENCIES(skg-nls-update-${catalog}.po skg-nls-skrooge.pot)


	FILE(MAKE_DIRECTORY "${po_BINARY_DIR}/${catalog}/LC_MESSAGES")
	
	ADD_CUSTOM_TARGET(
		skg-nls-update-${catalog}.mo ALL
		COMMAND ${SKG_MSGFMT} -c -o ${po_BINARY_DIR}/${catalog}/LC_MESSAGES/skrooge.mo ${CMAKE_SOURCE_DIR}/po/${catalog}/LC_MESSAGES/skrooge.po
	)

	ADD_DEPENDENCIES(skg-nls-update-${catalog}.mo skg-nls-skrooge.pot)
	ADD_DEPENDENCIES(skg-nls-update-${catalog}.mo skg-nls-update-${catalog}.po)
	ADD_DEPENDENCIES(skg-nls skg-nls-update-${catalog}.mo)
	
	INSTALL(
		FILES ${po_BINARY_DIR}/${catalog}/LC_MESSAGES/skrooge.mo
		DESTINATION ${LOCALE_INSTALL_DIR}/${catalog}/LC_MESSAGES
	)
ENDFOREACH(catalog)

INSTALL(DIRECTORY . DESTINATION ${DATA_INSTALL_DIR}/skrooge/ressources FILES_MATCHING PATTERN "*.rc" 
PATTERN ".svn" EXCLUDE 
PATTERN "CMakeFiles" EXCLUDE 
PATTERN "LC_MESSAGES" EXCLUDE)
