Cmake doc creations: Setting environment PYTHONIOENCODING

This should force the python executable to use the desired encoding.
The command is moved to a wrapper script to be able to set the environment
at make-run-time.
This commit is contained in:
Kornel Benko 2017-10-17 12:28:36 +02:00
parent b8206a0832
commit a68ef98103
2 changed files with 35 additions and 5 deletions

View File

@ -31,11 +31,16 @@ foreach(_rel_doc ${_rel_lyx_docs})
SET_SOURCE_FILES_PROPERTIES(${_created_doc} GENERATED) SET_SOURCE_FILES_PROPERTIES(${_created_doc} GENERATED)
add_custom_command( add_custom_command(
OUTPUT "${_created_doc}" OUTPUT "${_created_doc}"
COMMAND ${LYX_PYTHON_EXECUTABLE} "${TOP_CMAKE_PATH}/doc/ReplaceValues.py" COMMAND ${CMAKE_COMMAND}
"LYX_USERDIR_VER=${LYX_USERDIR_VER}" -DLYX_PYTHON_EXECUTABLE=${LYX_PYTHON_EXECUTABLE}
"LYX_DIR_VER=${LYX_DIR_VER}" -DTOP_CMAKE_PATH=${TOP_CMAKE_PATH}
"\\origin\ unavailable=\\origin\ /systemlyxdir/doc/${_rel_dir_part}" -DLYX_USERDIR_VER=${LYX_USERDIR_VER}
"${TOP_SRC_DIR}/lib/doc/${_rel_doc}" > "${_created_doc}" -DLYX_DIR_VER=${LYX_DIR_VER}
-DTOP_SRC_DIR=${TOP_SRC_DIR}
-DREL_DIR=${_rel_dir_part}
-DSOURCE=${_rel_doc}
-DCREATED=${_created_doc}
-P "${TOP_CMAKE_PATH}/doc/ReplaceValues.cmake"
DEPENDS "${TOP_SRC_DIR}/lib/doc/${_rel_doc}" "${TOP_CMAKE_PATH}/doc/ReplaceValues.py" DEPENDS "${TOP_SRC_DIR}/lib/doc/${_rel_doc}" "${TOP_CMAKE_PATH}/doc/ReplaceValues.py"
) )
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${_rel_doc}" DESTINATION "${LYX_DATA_SUBDIR}doc/${_rel_dir_part}") install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${_rel_doc}" DESTINATION "${LYX_DATA_SUBDIR}doc/${_rel_dir_part}")

View File

@ -0,0 +1,25 @@
set(ENV{PYTHONIOENCODING} "utf-8")
# check if all needed variables are set
foreach(_v LYX_USERDIR_VER LYX_DIR_VER REL_DIR SOURCE CREATED LYX_PYTHON_EXECUTABLE)
if (NOT DEFINED ${_v})
message(FATAL_ERROR "${_v} not set")
else()
#message(STATUS "${_v}=${${_v}}")
endif()
endforeach()
execute_process(COMMAND ${LYX_PYTHON_EXECUTABLE} "${TOP_CMAKE_PATH}/doc/ReplaceValues.py"
"LYX_USERDIR_VER=${LYX_USERDIR_VER}"
"LYX_DIR_VER=${LYX_DIR_VER}"
"\\origin\ unavailable=\\origin\ /systemlyxdir/doc/${REL_DIR}"
"${TOP_SRC_DIR}/lib/doc/${SOURCE}"
OUTPUT_FILE "${CREATED}"
RESULT_VARIABLE _err
ERROR_VARIABLE lyxerr)
if(_err)
message(STATUS "_err = ${_err}")
message(STATUS "lyxerr = ${lyxerr}")
message(FATAL_ERROR "Conversion of ${SOURCE} failed")
endif()