commit ab4ad882fafab16752f773f7fa90a0092e54d26a
Author: Kornel Benko <[email protected]>
Date:   Fri Oct 24 18:53:58 2014 +0200

    Cmake-gmo creation:  Recreate ${_lyxname}.fmt.pot only if it really changes

diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt
index 5b0aec7..e9cec52 100755
--- a/po/CMakeLists.txt
+++ b/po/CMakeLists.txt
@@ -74,7 +74,6 @@ endmacro(add_gettext_python)
 
 SET_SOURCE_FILES_PROPERTIES("${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.cat.pot" 
GENERATED)
 SET_SOURCE_FILES_PROPERTIES("${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.fmt.pot" 
GENERATED)
-SET_SOURCE_FILES_PROPERTIES("${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.fmtx.pot" 
GENERATED)
 SET_SOURCE_FILES_PROPERTIES("${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.pot" 
GENERATED)
 
 add_gettext_python(qt4 src/frontends/qt4/ui *.ui)
@@ -90,22 +89,26 @@ add_gettext_python(layouttranslations lib/layouts *.layout 
*.inc *.module)
 ADD_CUSTOM_COMMAND(
     OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.cat.pot"
     COMMAND ${LYX_PYTHON_EXECUTABLE}
-    ARGS   "${TOP_CMAKE_PATH}/po/cat.py" ${_py_sources} > 
"${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.cat.pot"
+    ARGS   "${TOP_CMAKE_PATH}/po/cat.py" ${_py_sources} > 
"${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.cat_tmp.pot"
     COMMAND ${LYX_PYTHON_EXECUTABLE}
-      ARGS   "${TOP_CMAKE_PATH}/po/dos2unix.py" 
"${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.cat.pot"
+      ARGS   "${TOP_CMAKE_PATH}/po/dos2unix.py" 
"${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.cat_tmp.pot"
+    COMMAND ${CMAKE_COMMAND} -E copy_if_different
+      "${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.cat_tmp.pot" 
"${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.cat.pot"
     DEPENDS ${_py_sources}
     )
 
 ADD_CUSTOM_COMMAND(
     OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.fmt.pot"
     COMMAND ${GETTEXT_MSGUNIQ_EXECUTABLE}
-    ARGS -o "${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.fmt.pot" 
"${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.cat.pot"
+    ARGS -o "${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.fmt_tmp.pot" 
"${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.cat.pot"
+    COMMAND ${CMAKE_COMMAND} -E copy_if_different
+      "${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.fmt_tmp.pot" 
"${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.fmt.pot"
     DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.cat.pot"
     )
 
 SET(_potfiles_dep)
 
-file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/POTFILES.in "")
+file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/POTFILES.in.tmp "")
 file(GLOB_RECURSE _tmp_potfiles RELATIVE ${TOP_SRC_DIR}/ 
${TOP_SRC_DIR}/src/*.h  ${TOP_SRC_DIR}/src/*.cpp  ${TOP_SRC_DIR}/src/*.cpp.in)
 list(SORT _tmp_potfiles)
 # list(REMOVE_ITEM _tmp_potfiles src/support/Package.cpp)
@@ -115,18 +118,16 @@ foreach(_f ${_tmp_potfiles})
   # will stay the same.
   # Relevant files are files containing the string '_(".*")'
   LIST(APPEND _potfiles_dep "${TOP_SRC_DIR}/${_f}")
-  file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/POTFILES.in "${_f}\n")
+  file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/POTFILES.in.tmp "${_f}\n")
 endforeach(_f)
 
-add_custom_command(
-  OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.fmtx.pot"
-  COMMAND ${CMAKE_COMMAND} -E copy_if_different 
"${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.fmt.pot" 
"${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.fmtx.pot"
-  DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.fmt.pot"
+execute_process(
+  COMMAND ${CMAKE_COMMAND} -E copy_if_different 
"${CMAKE_CURRENT_BINARY_DIR}/POTFILES.in.tmp" 
"${CMAKE_CURRENT_BINARY_DIR}/POTFILES.in"
   )
 
 ADD_CUSTOM_COMMAND(
     OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.pot"
-    COMMAND ${CMAKE_COMMAND} -E copy 
"${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.fmtx.pot" 
"${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.pot"
+    COMMAND ${CMAKE_COMMAND} -E copy 
"${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.fmt.pot" 
"${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.pot"
     COMMAND ${GETTEXT_XGETTEXT_EXECUTABLE}
       --default-domain=${_lyxname} --directory=${TOP_SRC_DIR}
       --add-comments=TRANSLATORS:
@@ -134,7 +135,7 @@ ADD_CUSTOM_COMMAND(
       --files-from=${CMAKE_CURRENT_BINARY_DIR}/POTFILES.in
       --copyright-holder="LyX Developers" 
[email protected]
       -o "${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.pot"
-    DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.fmtx.pot" ${_potfiles_dep}
+    DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.fmt.pot" ${_potfiles_dep}
     )
 
 #

Reply via email to