Am Montag, 3. Februar 2014 um 22:32:46, schrieb Kornel Benko <kor...@lyx.org> > Am Montag, 3. Februar 2014 um 22:26:49, schrieb Vincent van Ravesteijn > <v...@lyx.org> > > Kornel Benko schreef op 3-2-2014 22:24: ... > > > > > > > How do you trigger this ? In other words, what exactly do you do to > > > > > > > reconfigure ? > > > > > > > > > > > > > > I can't reproduce this (although I have seen this once in the very > > > > > > > beginning). > > > > > > Reconfiguration means > > > > > > # cd build-dir > > > > > > # cmake source-dir ...... > > > > > > This removed all gmo files (in source!) here. > > > > > > Kornel > > > > > It doesn't here (Ubuntu). > > > > Have you tried deleting the build-dir completely, and reconfigure from > > there ? > > Probably depends on cmake version. (Ubuntu 12.10 here) > #cmake --version > cmake version 2.8.12.20140130-g078e9 > > CMake suite maintained by Kitware, Inc. (kitware.com). > > > Vincent
Last (hopefully) two remarks: 1.) If a user does not have git-program, then he is unlikely supposed to commit gmo-file. Therefore ADD_CUSTOM_TARGET(update-gmo DEPENDS ${LYX_UPDATED_GMO_FILES}) belongs into if(LYX_GITVERSION) 2.) Same is valid for update-po target I propose following change: Kornel
diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt index a8e60a6..a587c82 100755 --- a/po/CMakeLists.txt +++ b/po/CMakeLists.txt @@ -166,61 +166,57 @@ foreach(_pofile ${LYX_BASE_PO_FILES}) endforeach(_pofile) FIND_PROGRAM(LYX_GITVERSION git) -set(LYX_UPDATED_GMO_FILES) -foreach(_gmo_base ${INSTALLED_LANGUAGES}) - set(_gmo ${_gmo_base}.gmo) - list(APPEND LYX_UPDATED_GMO_FILES "${LYX_DEST_PO}/${_gmo}") - if(LYX_GITVERSION) +if(LYX_GITVERSION) + set(LYX_UPDATED_GMO_FILES) + foreach(_gmo_base ${INSTALLED_LANGUAGES}) + set(_gmo ${_gmo_base}.gmo) + list(APPEND LYX_UPDATED_GMO_FILES "${LYX_DEST_PO}/${_gmo}") + list(APPEND LYX_UPDATED_GMO_FILES "${CMAKE_CURRENT_BINARY_DIR}/${_gmo}.tobeupdated") add_custom_command( - OUTPUT "${LYX_DEST_PO}/${_gmo}" + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${_gmo}.tobeupdated" COMMAND "${LYX_GITVERSION}" "status" "--porcelain" "${_gmo_base}.po" ">" "${CMAKE_CURRENT_BINARY_DIR}/${_gmo}.tobeupdated" COMMAND ${LYX_PYTHON_EXECUTABLE} "${TOP_CMAKE_PATH}/po/update-gmo.py" "${CMAKE_CURRENT_BINARY_DIR}/${_gmo}.tobeupdated" "${CMAKE_CURRENT_BINARY_DIR}/${_gmo}" "${LYX_DEST_PO}/${_gmo}" WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" - DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/${_gmo}" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/${_gmo}" "${LYX_DEST_PO}/${_gmo_base}.po" ) - else() - add_custom_command( - OUTPUT "${LYX_DEST_PO}/${_gmo}" - COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_BINARY_DIR}/${_gmo}" "${LYX_DEST_PO}/${_gmo}" - DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/${_gmo}" - ) - endif() -endforeach() + endforeach() -set(LYX_UPDATED_PO_FILES) -foreach(_pofile ${LYX_BASE_PO_FILES}) - if(WIN32) - add_custom_command( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_pofile}.copied - COMMAND ${LYX_PYTHON_EXECUTABLE} - ARGS "${TOP_CMAKE_PATH}/po/unix2dos.py" "${CMAKE_CURRENT_BINARY_DIR}/${_pofile}" - COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_BINARY_DIR}/${_pofile} ${LYX_DEST_PO}/${_pofile} - COMMAND ${CMAKE_COMMAND} -E touch ${_pofile}.copied - DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${_pofile} - ) - else() - add_custom_command( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_pofile}.copied - COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_BINARY_DIR}/${_pofile} ${LYX_DEST_PO}/${_pofile} - COMMAND ${CMAKE_COMMAND} -E touch ${_pofile}.copied - DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${_pofile} - ) - endif() - list(APPEND LYX_UPDATED_PO_FILES ${CMAKE_CURRENT_BINARY_DIR}/${_pofile}.copied) -endforeach(_pofile) + set(LYX_UPDATED_PO_FILES) + foreach(_pofile ${LYX_BASE_PO_FILES}) + if(WIN32) + add_custom_command( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_pofile}.copied + COMMAND ${LYX_PYTHON_EXECUTABLE} + ARGS "${TOP_CMAKE_PATH}/po/unix2dos.py" "${CMAKE_CURRENT_BINARY_DIR}/${_pofile}" + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_BINARY_DIR}/${_pofile} ${LYX_DEST_PO}/${_pofile} + COMMAND ${CMAKE_COMMAND} -E touch ${_pofile}.copied + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${_pofile} + ) + else() + add_custom_command( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_pofile}.copied + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_BINARY_DIR}/${_pofile} ${LYX_DEST_PO}/${_pofile} + COMMAND ${CMAKE_COMMAND} -E touch ${_pofile}.copied + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${_pofile} + ) + endif() + list(APPEND LYX_UPDATED_PO_FILES ${CMAKE_CURRENT_BINARY_DIR}/${_pofile}.copied) + endforeach(_pofile) + + # Create a new target to remerge po files + # ALL omitted here, to prevent from automatic creation + ADD_CUSTOM_TARGET(update-gmo DEPENDS ${LYX_UPDATED_GMO_FILES}) + ADD_CUSTOM_TARGET(update-po DEPENDS ${LYX_UPDATED_PO_FILES} ${LYX_UPDATED_GMO_FILES}) + set_target_properties(update-po update-gmo PROPERTIES FOLDER "i18n") + add_dependencies(update-po translations) + +endif(LYX_GITVERSION) if(LYX_CPACK OR LYX_INSTALL) set(_addALLOption ALL) endif() GETTEXT_CREATE_TRANSLATIONS(${CMAKE_CURRENT_BINARY_DIR}/${_lyxname}.pot ${_addALLOption} ${LYX_PO_FILES}) -# Create a new target to remerge po files -# ALL omitted here, to prevent from automatic creation -ADD_CUSTOM_TARGET(update-gmo DEPENDS ${LYX_UPDATED_GMO_FILES}) -ADD_CUSTOM_TARGET(update-po DEPENDS ${LYX_UPDATED_PO_FILES} ${LYX_UPDATED_GMO_FILES}) -set_target_properties(update-po update-gmo PROPERTIES FOLDER "i18n") -add_dependencies(update-po translations) -
signature.asc
Description: This is a digitally signed message part.