commit 40597c3be9c7920774f7f3216f06ec86558d30da
Author: Kornel Benko <[email protected]>
Date:   Sat Jul 23 20:30:45 2016 +0200

    Cmake build: Make sure that a sequence of commands to recreate 
layouttranslations failes
    
    Factored out the sequence into one cmake-script.
    Previously it could happen that the python script failed, but the following
    command was successfull and so the error was hidden.
---
 po/CMakeLists.txt                 |   11 +++++++----
 po/CreateLayoutTranslations.cmake |   34 ++++++++++++++++++++++++++++++++++
 2 files changed, 41 insertions(+), 4 deletions(-)

diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt
index 3f2f9ad..3ec0feb 100755
--- a/po/CMakeLists.txt
+++ b/po/CMakeLists.txt
@@ -43,10 +43,13 @@ macro(add_gettext_python  _par _dir)
     ADD_CUSTOM_COMMAND(
       OUTPUT "${_dst}"
       PRE_BUILD
-      COMMAND  ${CMAKE_COMMAND} -E copy_if_different 
"${TOP_SRC_DIR}/lib/layouttranslations" "${_dst}"
-      COMMAND ${LYX_PYTHON_EXECUTABLE}
-      ARGS "${TOP_SRC_DIR}/po/lyx_pot.py" -b "${TOP_SRC_DIR}" -o "${_dst}" -t 
${_par1} "--src_file=${_src_files}"
-      COMMAND  ${CMAKE_COMMAND} -E copy_if_different "${_dst}" 
"${TOP_SRC_DIR}/lib/layouttranslations"
+      COMMAND  ${CMAKE_COMMAND}
+       "-DTOP_SRC_DIR=${TOP_SRC_DIR}"
+       "-DDestFile=${_dst}"
+       "-DLYX_PYTHON_EXECUTABLE=${LYX_PYTHON_EXECUTABLE}"
+       "-DParType=${_par1}"
+       "-DSources=${_src_files}"
+       -P "${TOP_SRC_DIR}/po/CreateLayoutTranslations.cmake"
       DEPENDS ${_sources} ${_src_files} "${TOP_SRC_DIR}/lib/layouttranslations"
       COMMENT "${LYX_PYTHON_EXECUTABLE} ${TOP_SRC_DIR}/po/lyx_pot.py -b 
${TOP_SRC_DIR} -o  ${_dst} -t ${_par1} --src_file=${_src_files}"
       )
diff --git a/po/CreateLayoutTranslations.cmake 
b/po/CreateLayoutTranslations.cmake
new file mode 100644
index 0000000..22e3a52
--- /dev/null
+++ b/po/CreateLayoutTranslations.cmake
@@ -0,0 +1,34 @@
+# -DTOP_SRC_DIR=xxx \
+# -DDestFile=xxx \
+# -DLYX_PYTHON_EXECUTABLE=xxx \
+# -DParType=xxx \
+# -DSources=xxx \
+
+set(_dst ${DestFile})
+set(type ${ParType})
+set(_src_files ${Sources})
+
+message(STATUS "Starting CreateLayoutTranslations")
+execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different 
"${TOP_SRC_DIR}/lib/layouttranslations" "${_dst}"
+  RESULT_VARIABLE _err)
+string(COMPARE EQUAL  ${_err} 0 _erg)
+if(NOT _erg)
+  message(FATAL_ERROR "CreateLayoutTranslations: Copy of layouttranslations 
failed")
+endif()
+
+execute_process(COMMAND ${LYX_PYTHON_EXECUTABLE}
+  "${TOP_SRC_DIR}/po/lyx_pot.py" -b "${TOP_SRC_DIR}" -o "${_dst}" -t ${type}
+  "--src_file=${_src_files}"
+  RESULT_VARIABLE _err)
+
+string(COMPARE EQUAL  ${_err} 0 _erg)
+if(NOT _erg)
+  message(FATAL_ERROR "CreateLayoutTranslations: Calling python wit errors")
+endif()
+
+execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${_dst}" 
"${TOP_SRC_DIR}/lib/layouttranslations"
+  RESULT_VARIABLE _err)
+if(NOT _erg)
+  message(FATAL_ERROR "CreateLayoutTranslations: Copy of layouttranslations to 
source failed")
+endif()
+

Reply via email to