cmake: Fix pot-update target breakage when bash isn't the default shell

(Default shell as in the /bin/sh executable.)

On Debian and other systems using a different Bourne-compatible shell
that doesn't support some of Bash's syntax extensions (in particular,
'&>' as a redirection operator targeting stdout+stderr), the pot-update
target is completely broken, stuffing the POTFILES.in lists for either
the last (wesnoth-utbs) or first (wesnoth-ai) textdomains with paths for
every C/C++ source file from our tree.

Shells that do not interpret &> the way Bash does consider it to be the
stdout redirection operator following an asynchronous invocation. Of
course such a thing is bound to cause weird issues like this.
This commit is contained in:
Ignacio R. Morelle 2014-12-27 05:39:56 -03:00
parent 616d499c57
commit 47498d9d3e
2 changed files with 4 additions and 2 deletions

View file

@ -131,6 +131,8 @@ Version 1.13.0-dev:
* Updated translations: Czech, French, Galician, German, Greek, Hungarian,
Italian, Lithuanian, Portuguese, Russian, Scottish Gaelic, Slovak, Spanish,
Vietnamese
* Fixed cmake pot-update target on Debian and other systems that do not use
bash as the default /bin/sh.
* Lua API:
* Upgraded Lua to version 5.2.3.
* Fix bug #21761: wesnoth.synchronize_choice will now give a warning when

View file

@ -31,7 +31,7 @@ if(DOMAIN STREQUAL ${DEFAULT_DOMAIN})
# If the file doesn't contain a GETTEXT_DOMAIN
# definition it should be added to the default domain.
if ! grep \"^\#define *GETTEXT_DOMAIN\"
$$file &>/dev/null\; then
$$file > /dev/null 2>&1\; then
echo $$file >>
${PROJECT_SOURCE_DIR}/po/${DOMAIN}/POTFILES.in \;
@ -61,7 +61,7 @@ else(DOMAIN STREQUAL ${DEFAULT_DOMAIN})
# If the file contains a GETTEXT_DOMAIN definition for
# the current domain add it to the domain.
if grep \"^\#define *GETTEXT_DOMAIN *\\\"${DOMAIN}\\\"\"
$$file &>/dev/null\; then
$$file > /dev/null 2>&1\; then
echo $$file >>
${PROJECT_SOURCE_DIR}/po/${DOMAIN}/POTFILES.in \;