[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[vidalia-svn] r3749: Write the list of source files containing translatable strin (vidalia/trunk/cmake)



Author: edmanm
Date: 2009-04-30 23:09:59 -0400 (Thu, 30 Apr 2009)
New Revision: 3749

Modified:
   vidalia/trunk/cmake/VidaliaMacros.cmake
Log:

Write the list of source files containing translatable strings to a .pro
file and supply just the .pro file as an argument to lupdate, rather than
supplying all of the source file names themselves. The latter case results
in a command line that is too long for Windows. (Not that anybody runs
'make i18n-update' in Windows anyway, but now they could at least.)


Modified: vidalia/trunk/cmake/VidaliaMacros.cmake
===================================================================
--- vidalia/trunk/cmake/VidaliaMacros.cmake	2009-04-30 19:13:03 UTC (rev 3748)
+++ vidalia/trunk/cmake/VidaliaMacros.cmake	2009-05-01 03:09:59 UTC (rev 3749)
@@ -47,10 +47,11 @@
 ## supplied .po files 
 macro(VIDALIA_UPDATE_PO TARGET)
   ## Gather a list of all the files that might contain translated strings
-  FILE(GLOB_RECURSE translate_SRCS ${Vidalia_SOURCE_DIR}/*.cpp)
-  FILE(GLOB_RECURSE translate_HDRS ${Vidalia_SOURCE_DIR}/*.h)
-  FILE(GLOB_RECURSE translate_UIS  ${Vidalia_SOURCE_DIR}/*.ui)
+  file(GLOB_RECURSE translate_SRCS ${Vidalia_SOURCE_DIR}/*.cpp)
+  file(GLOB_RECURSE translate_HDRS ${Vidalia_SOURCE_DIR}/*.h)
+  file(GLOB_RECURSE translate_UIS  ${Vidalia_SOURCE_DIR}/*.ui)
   set(translate_SRCS ${translate_SRCS} ${translate_HDRS} ${translate_UIS})
+  string(REPLACE ";" " " translate_SRCS "${translate_SRCS}")
  
   foreach (it ${ARGN})
     get_filename_component(po ${it} ABSOLUTE)
@@ -58,13 +59,16 @@
     get_filename_component(outfile ${it} NAME_WE)
 
     set(ts ${CMAKE_CURRENT_BINARY_DIR}/${outfile}.ts)
+    set(pro ${CMAKE_CURRENT_BINARY_DIR}/${outfile}.pro)
+    file(WRITE ${pro} "SOURCES = ${translate_SRCS}")
+
     add_custom_command(TARGET ${TARGET}
       # Convert the current .po files to .ts
       COMMAND ${VIDALIA_PO2TS_EXECUTABLE}
       ARGS -q -i ${po} -o ${ts}
       # Update the .ts files
       COMMAND ${VIDALIA_LUPDATE_EXECUTABLE}
-      ARGS -silent -noobsolete ${translate_SRCS} -ts ${ts}
+      ARGS -silent -noobsolete ${pro} -ts ${ts}
       # Convert the updated .ts files back to .po
       COMMAND ${VIDALIA_TS2PO_EXECUTABLE}
       ARGS -q -i ${ts} -o ${po}