docs: cmake build
[m6w6/libmemcached] / docs / CMakeLists.txt
1 find_package(Sphinx)
2
3 if(SPHINX_EXECUTABLE)
4
5 if(NOT DEFINED SPHINX_THEME)
6 set(SPHINX_THEME sphinx_rtd_theme)
7 set(SPHINX_THEME_OPTIONS "'collapse_navigation':False, 'navigation_depth':2, 'titles_only':False, 'includehidden':False")
8 endif()
9
10 if(NOT DEFINED SPHINX_THEME_DIR)
11 set(SPHINX_THEME_DIR)
12 endif()
13
14 if(NOT DEFINED SPHINX_OPTIONS)
15 set(SPHINX_OPTIONS)
16 endif()
17
18 set(SPHINX_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/source")
19
20 # configured documentation tools and intermediate build results
21 set(SPHINX_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}")
22
23 # Sphinx cache with pickled ReST documents
24 set(SPHINX_CACHE_DIR "${SPHINX_BUILD_DIR}/_doctrees")
25
26 # HTML output directory
27 set(SPHINX_HTML_DIR "${SPHINX_BUILD_DIR}/html")
28
29 # MAN output directory
30 set(SPHINX_MAN_DIR "${SPHINX_BUILD_DIR}/man")
31
32 configure_file(
33 "${SPHINX_SOURCE_DIR}/conf.py.in"
34 "${SPHINX_BUILD_DIR}/conf.py"
35 @ONLY)
36
37 add_custom_target("docs"
38 ${SPHINX_EXECUTABLE}
39 -q -a -b html
40 -c "${SPHINX_BUILD_DIR}"
41 -d "${SPHINX_CACHE_DIR}"
42 ${SPHINX_OPTIONS}
43 "${SPHINX_SOURCE_DIR}"
44 "${SPHINX_HTML_DIR}"
45 BYPRODUCTS ${SPHINX_HTML_DIR}
46 COMMENT "Build HTML documentation with Sphinx")
47 #list(APPEND ADDITIONAL_CLEAN_FILES ${SPHINX_CACHE_DIR} ${SPHINX_HTML_DIR})
48 add_custom_target(man
49 ${SPHINX_EXECUTABLE}
50 -q -a -b man
51 -c "${SPHINX_BUILD_DIR}"
52 -d "${SPHINX_CACHE_DIR}"
53 ${SPHINX_OPTIONS}
54 "${SPHINX_SOURCE_DIR}"
55 "${SPHINX_MAN_DIR}"
56 BYPRODUCTS ${SPHINX_MAN_DIR}
57 COMMENT "Build manpage documentation with Sphinx")
58 #list(APPEND ADDITIONAL_CLEAN_FILES ${SPHINX_CACHE_DIR} ${SPHINX_MAN_DIR})
59 endif()