diff --git a/levels-i18n/CMakeLists.txt b/levels-i18n/CMakeLists.txt index 1a0c1e28..8acef611 100644 --- a/levels-i18n/CMakeLists.txt +++ b/levels-i18n/CMakeLists.txt @@ -37,7 +37,7 @@ foreach(levelfile ${levelfiles}) add_custom_command(OUTPUT ${_levels_i18n_target}/${_scenedest} COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/${_levels_i18n_target} COMMAND ${LEVELS_I18N_PATH}/scripts/03_inject_translations.sh ${levelfile} ${CMAKE_CURRENT_BINARY_DIR}/${LEVEL_CODENAME}/${_levelfile} ${PODIR} > ${CMAKE_CURRENT_BINARY_DIR}/${_levels_i18n_target}/${_scenedest} - DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/po4a-ran-${LEVEL_CODENAME} + DEPENDS po4a-${LEVEL_CODENAME} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} COMMENT "${LEVEL_CODENAME}: Inject translation in ${_scenedest}" ) @@ -67,7 +67,7 @@ if(PO4A AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${PODIR}") add_custom_command(OUTPUT moved-all-${LEVEL_CODENAME}-${_helpfile} COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/${_help_i18n_target} COMMAND ${LEVELS_I18N_PATH}/scripts/04_move_helpfiles_to_paths.sh ${LEVEL_CODENAME} ${LEVEL_CODENAME}-help/${_helpfile} ${_help_i18n_target} '${HELPDIR}' '${HELPDEST}' ${CMAKE_CURRENT_SOURCE_DIR} > moved-all-${LEVEL_CODENAME}-${_helpfile} - DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/po4a-ran-${LEVEL_CODENAME} + DEPENDS po4a-${LEVEL_CODENAME} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMENT "${LEVEL_CODENAME}: Move ${_helpfile} translations around" ) diff --git a/levels-i18n/scripts/01_create_po4a_file.sh b/levels-i18n/scripts/01_create_po4a_file.sh index f1650487..86a5e796 100755 --- a/levels-i18n/scripts/01_create_po4a_file.sh +++ b/levels-i18n/scripts/01_create_po4a_file.sh @@ -10,8 +10,8 @@ LEVEL_CODENAME=$3 # relative SCENEFILE=$4 # relative HELPDIR=$5 # relative -rm -Rf $LEVEL_CODENAME-po -ln -s $srcdir/$PODIR $LEVEL_CODENAME-po +[ -h $LEVEL_CODENAME-po ] || rm -f $LEVEL_CODENAME-po +ln -sf $srcdir/$PODIR $LEVEL_CODENAME-po echo "[po_directory] $LEVEL_CODENAME-po" # Create a pseudo file for the translation of the language code @@ -25,7 +25,7 @@ if [ -n "$SCENEFILE" ]; then # Levels are precompiled, they are already in the current dir for scene in $(cd $srcdir/; ls $SCENEFILE); do scene_=$(basename $scene .txt) - $(cd $LEVEL_CODENAME; ln -s $srcdir/$scene $scene_.txt) + $(cd $LEVEL_CODENAME; [ -h $scene_.txt ] || rm -f $scene_.txt; ln -sf $srcdir/$scene $scene_.txt) echo "[type:colobotlevel] $LEVEL_CODENAME/$scene_.txt \$lang:$LEVEL_CODENAME/$scene_.\$lang.txt" done fi @@ -36,7 +36,7 @@ mkdir -p $LEVEL_CODENAME-help if [ -d $srcdir/$HELPDIR ]; then for helpfile in $(cd $srcdir/$HELPDIR; ls *.txt); do helpfile_=$(basename $helpfile .txt) - $(cd $LEVEL_CODENAME-help; ln -s $srcdir/$HELPDIR/$helpfile $helpfile_.txt) + $(cd $LEVEL_CODENAME-help; [ -h $helpfile_.txt ] || rm -f $helpfile_.txt; ln -sf $srcdir/$HELPDIR/$helpfile $helpfile_.txt) echo "[type:colobothelp] $LEVEL_CODENAME-help/$helpfile_.txt \$lang:$LEVEL_CODENAME-help/$helpfile_.\$lang.txt" done fi