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 9bc5b15d5f
commit 8ae98d442a
2 changed files with 4 additions and 2 deletions

View file

@ -25,6 +25,8 @@ Version 1.12.0+dev:
longer generate topic sections.
* Language and i18n:
* Updated translations: Portuguese
* Fixed cmake pot-update target on Debian and other systems that do not use
bash as the default /bin/sh.
* Multiplayer:
* Fixed the Set Password option during game creation not having an effect
due to a misplaced WML attribute in the client's command for the server

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 \;