Author: kornel
Date: Fri May 20 08:40:04 2011
New Revision: 38791
URL: http://www.lyx.org/trac/changeset/38791

Log:
Remove the need for perl if creating doc

Added:
   lyx-devel/trunk/development/cmake/doc/ReplaceValues.py   (contents, props 
changed)
Modified:
   lyx-devel/trunk/CMakeLists.txt
   lyx-devel/trunk/development/cmake/doc/CMakeLists.txt

Modified: lyx-devel/trunk/CMakeLists.txt
==============================================================================
--- lyx-devel/trunk/CMakeLists.txt      Thu May 19 21:11:01 2011        (r38790)
+++ lyx-devel/trunk/CMakeLists.txt      Fri May 20 08:40:04 2011        (r38791)
@@ -561,9 +561,9 @@
 
 
 if(LYX_INSTALL)
-       FIND_PROGRAM(LYX_PERL_EXECUTABLE perl)
-       if(${LYX_PERL_EXECUTABLE} MATCHES "-NOTFOUND")
-               message(STATUS "Perl required to create doc!")
+       #FIND_PROGRAM(LYX_PERL_EXECUTABLE perl)
+       if(${LYX_PYTHON_EXECUTABLE} MATCHES "-NOTFOUND")
+               message(STATUS "Python required to create doc!")
        else()
                add_subdirectory(${LYX_CMAKE_DIR}/man "${TOP_BINARY_DIR}/man")
                add_subdirectory(${LYX_CMAKE_DIR}/doc "${TOP_BINARY_DIR}/doc")

Modified: lyx-devel/trunk/development/cmake/doc/CMakeLists.txt
==============================================================================
--- lyx-devel/trunk/development/cmake/doc/CMakeLists.txt        Thu May 19 
21:11:01 2011        (r38790)
+++ lyx-devel/trunk/development/cmake/doc/CMakeLists.txt        Fri May 20 
08:40:04 2011        (r38791)
@@ -29,8 +29,8 @@
   SET_SOURCE_FILES_PROPERTIES(${_created_doc} GENERATED)
   add_custom_command(
     OUTPUT "${_created_doc}"
-    COMMAND perl "${TOP_SRC_DIR}/development/cmake/doc/ReplaceValues.pl" 
"LYX_USERDIR_VER=${LYX_USERDIR_VER}" "LYX_DIR_VER=${LYX_DIR_VER}" 
"${TOP_SRC_DIR}/lib/doc/${_rel_doc}" > "${_created_doc}"
-    DEPENDS "${TOP_SRC_DIR}/lib/doc/${_rel_doc}"
+    COMMAND ${LYX_PYTHON_EXECUTABLE} 
"${TOP_SRC_DIR}/development/cmake/doc/ReplaceValues.py" 
"LYX_USERDIR_VER=${LYX_USERDIR_VER}" "LYX_DIR_VER=${LYX_DIR_VER}" 
"${TOP_SRC_DIR}/lib/doc/${_rel_doc}" > "${_created_doc}"
+    DEPENDS "${TOP_SRC_DIR}/lib/doc/${_rel_doc}" 
"${TOP_SRC_DIR}/development/cmake/doc/ReplaceValues.py"
     )
   install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${_rel_doc}" DESTINATION 
"${LYX_DATA_SUBDIR}doc/${_rel_dir_part}")
   LIST(APPEND _docs "${_created_doc}")

Added: lyx-devel/trunk/development/cmake/doc/ReplaceValues.py
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ lyx-devel/trunk/development/cmake/doc/ReplaceValues.py      Fri May 20 
08:40:04 2011        (r38791)
@@ -0,0 +1,45 @@
+#! /usr/bin/env python
+import sys
+import re
+
+Subst = {}  # map of desired substitutions
+prog = re.compile("")
+
+def createProg():
+    matchingS = "\\b|\\b".join(Subst.keys())
+    pattern = "".join(["(.*)(\\b", matchingS, "\\b)(.*)"])
+    return re.compile(pattern)
+
+def SubstituteDataInLine(line):
+    result = line
+    m = prog.match(result)
+    if m:
+        return "".join([SubstituteDataInLine(m.group(1)),
+                        Subst[m.group(2)],
+                        SubstituteDataInLine(m.group(3))])
+    return line
+
+
+def SubstituteDataInFile(InFile):
+    for line in open(InFile):
+        print SubstituteDataInLine(line[:-1])
+
+##########################################
+
+
+args = sys.argv
+
+del args[0] # we don't need the name ot this script
+while len(args) > 0:
+    arg = args[0]
+    entry = args[0].split("=",1)
+    if len(entry) == 2:
+        key=entry[0]
+        val=entry[1]
+        if len(key) > 0:
+            Subst[key] = val
+    else:
+        prog = createProg()
+        SubstituteDataInFile(args[0])
+    del args[0]
+

Reply via email to