cmake_policy(SET CMP0005 OLD)
endif()
-set(LYX_PROJECT lyx)
+#needed to distinguish fron trunk, so we can install both simultaneously
+set(LYX_PROJECT lyx20)
project(${LYX_PROJECT})
set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true)
if(LYX_INSTALL)
- FIND_PROGRAM(LYX_PERL_EXECUTABLE perl)
- if(${LYX_PERL_EXECUTABLE} MATCHES "-NOTFOUND")
- message(STATUS "Perl required to create doc!")
+ if(${LYX_PYTHON_EXECUTABLE} MATCHES "-NOTFOUND")
+ message(STATUS "Python required to create doc!")
else()
add_subdirectory(man)
add_subdirectory(doc)
project(doc)
-#TODO: replace perl script with python, see scons:
-# http://www.lyx.org/trac/browser/lyx-devel/trunk/development/scons/scons_utils.py
-
SET(_docs)
file(GLOB_RECURSE _rel_lyx_docs RELATIVE "${TOP_SRC_DIR}/lib/doc" "${TOP_SRC_DIR}/lib/doc/*.lyx" "${TOP_SRC_DIR}/lib/doc/*.txt")
SET_SOURCE_FILES_PROPERTIES(${_created_doc} GENERATED)
add_custom_command(
OUTPUT "${_created_doc}"
- COMMAND perl "${CMAKE_SOURCE_DIR}/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}")
--- /dev/null
+#! /usr/bin/env python
+
+# file ReplaceValues.py
+#
+# This file is part of LyX, the document processor.
+# Licence details can be found in the file COPYING.
+#
+# author: Kornel Benko, kornel@lyx.org
+#
+# Syntax: ReplaceValues.py [<var1>=<Subst1> [<var2>=<Subst> ...]] <Inputfile> [<Inputfile> ...]
+
+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]
+
status collapsed
\begin_layout Plain Layout
-LYX_USERDIR_20x
+LYX_USERDIR_VER
\end_layout
\end_inset
Ces répertoires sont complètement indépendants (mais lisez la suite).
Notez que positionner la variable d'environnement
\family typewriter
-LYX_USERDIR_16x
+LYX_USERDIR_VER
\family default
a exactement le même effet.
\end_layout
status collapsed
\begin_layout Plain Layout
-LYX_USERDIR_20x
+LYX_USERDIR_VER
\end_layout
\end_inset