mirror of
https://github.com/eclipse/upm.git
synced 2025-03-15 04:57:30 +03:00
cmake: small updates to sphinx build target
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
This commit is contained in:
parent
bfbbb04065
commit
1079cb7cdd
@ -70,31 +70,35 @@ if (BUILDDOC)
|
||||
COMMENT "Generating API documentation with Doxygen" VERBATIM
|
||||
)
|
||||
endif (DOXYGEN_FOUND)
|
||||
# check if sphinx is installed
|
||||
# check if Sphinx is installed and add target to generate API documentation
|
||||
find_package (Sphinx)
|
||||
if(SPHINX_FOUND)
|
||||
# python required for sphinx build
|
||||
find_package (PythonLibs)
|
||||
string (REPLACE "." ";" PYTHON_VERSION_LIST ${PYTHONLIBS_VERSION_STRING})
|
||||
list (GET PYTHON_VERSION_LIST 0 PYTHON_VERSION_MAJOR)
|
||||
list (GET PYTHON_VERSION_LIST 1 PYTHON_VERSION_MINOR)
|
||||
# check if site-packages exists, might need a more robust way on adding make install dependency and paths
|
||||
if (EXISTS ${CMAKE_INSTALL_LIBDIR}/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages/)
|
||||
configure_file (${CMAKE_CURRENT_SOURCE_DIR}/doxy/conf.py.in ${CMAKE_CURRENT_BINARY_DIR}/pydoc/conf.py @ONLY)
|
||||
configure_file (${CMAKE_CURRENT_SOURCE_DIR}/doxy/index.rst ${CMAKE_CURRENT_BINARY_DIR}/pydoc/index.rst)
|
||||
add_custom_target (pydoc
|
||||
${SPHINX_API_EXECUTABLE} -f -o pydoc ${CMAKE_INSTALL_LIBDIR}/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages/
|
||||
#use a separate cmake FILE module for string replacement instead
|
||||
COMMAND sed -i.bak s|site-packages|sensor-drivers|g pydoc/modules.rst
|
||||
COMMAND ${SPHINX_EXECUTABLE} -b html pydoc html/python
|
||||
COMMAND sed -i.bak s|\">pyupm_|\">|g html/python/index.html html/python/modules.html
|
||||
COMMAND sed -i.bak s|\\smodule</a>|</a>|g html/python/index.html html/python/modules.html
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMENT "Generating API documentation with Sphinx" VERBATIM
|
||||
)
|
||||
else()
|
||||
message( WARNING " - Sphinx documentation depends on python libs generated by 'install' target. Run cmake again after installation to create 'pydoc' target!")
|
||||
endif()
|
||||
# python required for Sphinx build
|
||||
find_package (PythonLibs)
|
||||
string (REPLACE "." ";" PYTHON_VERSION_LIST ${PYTHONLIBS_VERSION_STRING})
|
||||
list (GET PYTHON_VERSION_LIST 0 PYTHON_VERSION_MAJOR)
|
||||
list (GET PYTHON_VERSION_LIST 1 PYTHON_VERSION_MINOR)
|
||||
set (SITE_PACKAGES ${CMAKE_INSTALL_LIBDIR}/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages)
|
||||
|
||||
# throw a warning if site-packages doesn't exist, might need a more robust way on adding make install dependency and paths
|
||||
if (NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/${SITE_PACKAGES})
|
||||
message( WARNING " - Sphinx documentation 'pydoc' target depends on python libs generated by 'install' target. Run that first!")
|
||||
endif()
|
||||
|
||||
configure_file (${CMAKE_CURRENT_SOURCE_DIR}/doxy/conf.py.in ${CMAKE_CURRENT_BINARY_DIR}/pydoc/conf.py @ONLY)
|
||||
configure_file (${CMAKE_CURRENT_SOURCE_DIR}/doxy/index.rst ${CMAKE_CURRENT_BINARY_DIR}/pydoc/index.rst)
|
||||
add_custom_target (pydoc
|
||||
${SPHINX_API_EXECUTABLE} -f -o pydoc ${SITE_PACKAGES}
|
||||
# todo: use a separate cmake FILE module for string replacement instead
|
||||
COMMAND sed -i.bak s|site-packages|sensor-drivers|g pydoc/modules.rst
|
||||
COMMAND ${SPHINX_EXECUTABLE} -b html pydoc html/python
|
||||
COMMAND sed -i.bak s|\">pyupm_|\">|g html/python/index.html html/python/modules.html
|
||||
COMMAND sed -i.bak s|[[:space:]]module</a>|</a>|g html/python/index.html html/python/modules.html
|
||||
# cleanup .pyc files
|
||||
COMMAND find ${SITE_PACKAGES} -name *.pyc -exec rm {} \;
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMENT "Generating API documentation with Sphinx" VERBATIM
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
@ -22,7 +22,7 @@ import shlex
|
||||
# documentation root, use os.path.abspath to make it absolute, like shown here.
|
||||
sys.path.insert(0, "@CMAKE_INSTALL_LIBDIR@/python@PYTHON_VERSION_MAJOR@.@PYTHON_VERSION_MINOR@/site-packages/")
|
||||
sys.path.insert(0, "@CMAKE_INSTALL_LIBDIR@")
|
||||
sys.path.insert(0, "@MRAA_LIBDIR@")
|
||||
sys.path.insert(0, "@MRAA_LIBDIR@@LIB_SUFFIX@")
|
||||
|
||||
# -- General configuration ------------------------------------------------
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user