summaryrefslogtreecommitdiff
path: root/.pc/0001-Fix_built-in_documentation_dependencies.patch/docs/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to '.pc/0001-Fix_built-in_documentation_dependencies.patch/docs/CMakeLists.txt')
-rw-r--r--.pc/0001-Fix_built-in_documentation_dependencies.patch/docs/CMakeLists.txt131
1 files changed, 131 insertions, 0 deletions
diff --git a/.pc/0001-Fix_built-in_documentation_dependencies.patch/docs/CMakeLists.txt b/.pc/0001-Fix_built-in_documentation_dependencies.patch/docs/CMakeLists.txt
new file mode 100644
index 0000000..0cbfd67
--- /dev/null
+++ b/.pc/0001-Fix_built-in_documentation_dependencies.patch/docs/CMakeLists.txt
@@ -0,0 +1,131 @@
+
+###############################################################################
+### External Doc Apps ###
+
+# setuptools
+set(SETUPTOOLS_VERSION 0.6c11)
+ExternalProject_Add(setuptools
+ URL ${CMAKE_SOURCE_DIR}/ext/setuptools-${SETUPTOOLS_VERSION}.tar.gz
+ BUILD_IN_SOURCE 1
+ CONFIGURE_COMMAND ${CMAKE_COMMAND} -E make_directory ${EXTDIST_PYTHONPATH}
+ BUILD_COMMAND PYTHONPATH=${PYTHONPATH} python setup.py build
+ INSTALL_COMMAND PYTHONPATH=${PYTHONPATH} python setup.py install --prefix=${EXTDIST_ROOT}
+)
+
+# docutils
+set(DOCUTILS_VERSION 0.7)
+ExternalProject_Add(docutils
+ DEPENDS setuptools
+ URL ${CMAKE_SOURCE_DIR}/ext/docutils-${DOCUTILS_VERSION}.tar.gz
+ BUILD_IN_SOURCE 1
+ CONFIGURE_COMMAND ${CMAKE_COMMAND} -E make_directory ${EXTDIST_PYTHONPATH}
+ BUILD_COMMAND PYTHONPATH=${PYTHONPATH} python setup.py build
+ INSTALL_COMMAND PYTHONPATH=${PYTHONPATH} python setup.py install --prefix=${EXTDIST_ROOT}
+)
+
+# jinja2
+set(JINJA2_VERSION 2.5.5)
+ExternalProject_Add(Jinja2
+ DEPENDS setuptools
+ URL ${CMAKE_SOURCE_DIR}/ext/Jinja2-${JINJA2_VERSION}.tar.gz
+ BUILD_IN_SOURCE 1
+ CONFIGURE_COMMAND ${CMAKE_COMMAND} -E make_directory ${EXTDIST_PYTHONPATH}
+ BUILD_COMMAND PYTHONPATH=${PYTHONPATH} python setup.py build
+ INSTALL_COMMAND PYTHONPATH=${PYTHONPATH} python setup.py install --prefix=${EXTDIST_ROOT}
+)
+
+# Pygments
+set(PYGMENTS_VERSION 1.3.1)
+ExternalProject_Add(Pygments
+ DEPENDS setuptools
+ URL ${CMAKE_SOURCE_DIR}/ext/Pygments-${PYGMENTS_VERSION}.tar.gz
+ BUILD_IN_SOURCE 1
+ CONFIGURE_COMMAND ${CMAKE_COMMAND} -E make_directory ${EXTDIST_PYTHONPATH}
+ BUILD_COMMAND PYTHONPATH=${PYTHONPATH} python setup.py build
+ INSTALL_COMMAND PYTHONPATH=${PYTHONPATH} python setup.py install --prefix=${EXTDIST_ROOT}
+)
+
+# sphinx
+set(SPHINX_VERSION f52b631f501a) # 1.1pre
+ExternalProject_Add(Sphinx
+ DEPENDS setuptools docutils Jinja2 Pygments
+ URL ${CMAKE_SOURCE_DIR}/ext/sphinx-${SPHINX_VERSION}.tar.gz
+ PATCH_COMMAND patch -p1 < ${CMAKE_SOURCE_DIR}/ext/sphinx-${SPHINX_VERSION}.patch
+ BUILD_IN_SOURCE 1
+ CONFIGURE_COMMAND ${CMAKE_COMMAND} -E make_directory ${EXTDIST_PYTHONPATH}
+ BUILD_COMMAND PYTHONPATH=${PYTHONPATH} python setup.py build
+ INSTALL_COMMAND PYTHONPATH=${PYTHONPATH} python setup.py install --prefix=${EXTDIST_ROOT} --install-scripts=${EXTDIST_ROOT}/bin
+)
+
+###############################################################################
+### Create Doc Targets ###
+
+message(STATUS "Create sphinx conf.py from conf.py.in")
+configure_file(${CMAKE_SOURCE_DIR}/docs/conf.py.in
+ ${CMAKE_BINARY_DIR}/docs/conf.py @ONLY)
+
+message(STATUS "Copying doc to staging area")
+file(COPY ${CMAKE_SOURCE_DIR}/docs/ DESTINATION ${CMAKE_BINARY_DIR}/docs)
+
+message(STATUS "Copy extra doc files to staging area")
+list(APPEND DOCFILES ${CMAKE_SOURCE_DIR}/README)
+list(APPEND DOCFILES ${CMAKE_SOURCE_DIR}/INSTALL)
+list(APPEND DOCFILES ${CMAKE_SOURCE_DIR}/ChangeLog)
+list(APPEND DOCFILES ${CMAKE_SOURCE_DIR}/LICENSE)
+list(APPEND DOCFILES ${CMAKE_SOURCE_DIR}/share/nuke/ocionuke/viewer.py)
+CopyFiles(RSTDOC ${DOCFILES})
+
+message(STATUS "Extracting .rst files from C++ headers")
+ExtractRstCPP(${CMAKE_SOURCE_DIR}/export/OpenColorIO/OpenColorIO.h developers/api/OpenColorIO.rst)
+ExtractRstCPP(${CMAKE_SOURCE_DIR}/export/OpenColorIO/OpenColorTransforms.h developers/api/OpenColorTransforms.rst)
+ExtractRstCPP(${CMAKE_SOURCE_DIR}/export/OpenColorIO/OpenColorTypes.h developers/api/OpenColorTypes.rst)
+
+add_custom_target(doc ALL
+ COMMAND PYTHONPATH=${PYTHONPATH} ${EXTDIST_BINPATH}/sphinx-build -b html . ${CMAKE_CURRENT_BINARY_DIR}/build-html
+ DEPENDS
+ OpenColorIO
+ PyOpenColorIO
+ ${CMAKE_BINARY_DIR}/docs/conf.py
+ developers/api/OpenColorIO.rst
+ developers/api/OpenColorTransforms.rst
+ developers/api/OpenColorTypes.rst
+ ${RSTDOC_OUTPUT}
+ COMMENT "Building html docs"
+ SOURCES ${DOCFILES})
+
+# note: ExternalProject will not build when added to a add_custom_target this
+# works around this problem. This seems to be fixed in the cmake ^HEAD
+add_dependencies(doc Sphinx)
+
+install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/build-html/
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/doc/OpenColorIO/html
+ PATTERN .* EXCLUDE
+)
+
+find_package(LATEX)
+if(PDFLATEX_COMPILER)
+
+ add_custom_target(latex
+ COMMAND PYTHONPATH=${PYTHONPATH} ${EXTDIST_BINPATH}/sphinx-build -b latex . ${CMAKE_CURRENT_BINARY_DIR}/build-latex
+ DEPENDS
+ OpenColorIO
+ ${CMAKE_BINARY_DIR}/docs/conf.py
+ developers/api/OpenColorIO.rst
+ developers/api/OpenColorTransforms.rst
+ developers/api/OpenColorTypes.rst
+ ${RSTDOC_OUTPUT}
+ COMMENT "Building latex doc"
+ SOURCES ${DOCFILES})
+ add_dependencies(latex Sphinx)
+
+ add_custom_target(pdf ALL
+ COMMAND ${PDFLATEX_COMPILER} OpenColorIO.tex
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/build-latex
+ COMMENT "Building pdf doc"
+ SOURCES ${DOCFILES})
+ add_dependencies(pdf latex)
+
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/build-latex/OpenColorIO.pdf
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/doc/OpenColorIO/)
+
+endif()