Generate HTML documentation

This commit is contained in:
Rogier 2015-11-26 16:17:54 +01:00
parent a9148f8352
commit 47dd510384
3 changed files with 68 additions and 3 deletions

View File

@ -147,7 +147,7 @@ set(USE_SQLITE3 0)
set(USE_LEVELDB 0) set(USE_LEVELDB 0)
set(USE_REDIS 0) set(USE_REDIS 0)
OPTION(ENABLE_ANY_DATABASE "Enable any available database backends") OPTION(ENABLE_ANY_DATABASE "Enable any available database backends" True)
OPTION(ENABLE_ALL_DATABASES "Enable all possible database backends") OPTION(ENABLE_ALL_DATABASES "Enable all possible database backends")
OPTION(ENABLE_SQLITE3 "Enable sqlite3 backend" True) OPTION(ENABLE_SQLITE3 "Enable sqlite3 backend" True)
OPTION(ENABLE_LEVELDB "Enable LevelDB backend") OPTION(ENABLE_LEVELDB "Enable LevelDB backend")
@ -217,7 +217,6 @@ if(NOT USE_SQLITE3 AND NOT USE_LEVELDB AND NOT USE_REDIS)
message(SEND_ERROR "No database backends are configured, or none could be found") message(SEND_ERROR "No database backends are configured, or none could be found")
endif(NOT USE_SQLITE3 AND NOT USE_LEVELDB AND NOT USE_REDIS) endif(NOT USE_SQLITE3 AND NOT USE_LEVELDB AND NOT USE_REDIS)
include_directories( include_directories(
"${PROJECT_BINARY_DIR}" "${PROJECT_BINARY_DIR}"
"${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}"
@ -264,11 +263,13 @@ target_link_libraries(
${LINK_LIBRARIES} ${LINK_LIBRARIES}
) )
add_subdirectory(doc)
# CPack # CPack
file(GLOB META_FILES RELATIVE "${CMAKE_HOME_DIRECTORY}" AUTHORS COPYING LICENSE.* README.rst) file(GLOB META_FILES RELATIVE "${CMAKE_HOME_DIRECTORY}" AUTHORS COPYING LICENSE.* README.rst)
file(GLOB DOC_RST_FILES RELATIVE "${CMAKE_HOME_DIRECTORY}" doc/*.rst) file(GLOB DOC_RST_FILES RELATIVE "${CMAKE_HOME_DIRECTORY}" doc/*.rst)
file(GLOB DOC_HTML_FILES RELATIVE "${CMAKE_HOME_DIRECTORY}" doc/*.html) string(REPLACE ".rst" ".html" DOC_HTML_FILES "${DOC_RST_FILES}")
file(GLOB DOC_IMAGE_FILES RELATIVE "${CMAKE_HOME_DIRECTORY}" doc/images/*) file(GLOB DOC_IMAGE_FILES RELATIVE "${CMAKE_HOME_DIRECTORY}" doc/images/*)
set(COLORS_FILES set(COLORS_FILES
colors.txt colors.txt

1
doc/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
*.html

63
doc/CMakeLists.txt Normal file
View File

@ -0,0 +1,63 @@
project(minetestmapper CXX)
cmake_minimum_required(VERSION 2.6)
cmake_policy(SET CMP0003 NEW)
if(NOT DEFINED USE_RST2HTML)
set(USE_RST2HTML -1)
endif(NOT DEFINED USE_RST2HTML)
SET(ENABLE_HTML_DOCUMENTATION_DOC "Convert rst documents to html or fail")
SET(DISABLE_HTML_DOCUMENTATION_DOC "Don't convert rst documents to html")
OPTION(ENABLE_HTML_DOCUMENTATION ${ENABLE_HTML_DOCUMENTATION_DOC} False)
OPTION(DISABLE_HTML_DOCUMENTATION ${DISABLE_HTML_DOCUMENTATION_DOC} False)
# Find rst to html converter
if(ENABLE_HTML_DOCUMENTATION AND DISABLE_HTML_DOCUMENTATION)
message(WARNING "ENABLE_HTML_DOCUMENTATION and DISABLE_HTML_DOCUMENTATION are both enabled. Reinitializing rst to html conversion.")
set(ENABLE_HTML_DOCUMENTATION False CACHE BOOL ${ENABLE_HTML_DOCUMENTATION_DOC} FORCE)
set(DISABLE_HTML_DOCUMENTATION False CACHE BOOL ${DISABLE_HTML_DOCUMENTATION_DOC} FORCE)
set(USE_RST2HTML -1)
endif(ENABLE_HTML_DOCUMENTATION AND DISABLE_HTML_DOCUMENTATION)
find_package(Docutils)
if(DOCUTILS_FOUND)
message(STATUS "Python docutils found (rst2html: ${RST2HTML_EXECUTABLE})")
else(DOCUTILS_FOUND)
message(STATUS "Python docutils not found")
endif(DOCUTILS_FOUND)
if(ENABLE_HTML_DOCUMENTATION)
set(USE_RST2HTML 1)
message(STATUS "Conversion of documentation to html enabled as requested")
elseif(DISABLE_HTML_DOCUMENTATION)
set(USE_RST2HTML 0)
message(STATUS "Conversion of documentation to html disabled as requested")
elseif(USE_RST2HTML EQUAL -1)
# First time, and no preference specified: choose depending
# on availability of rst2html
if (DOCUTILS_FOUND)
set(USE_RST2HTML 1)
message(STATUS "Conversion of documentation to html enabled (because python docutils found)")
else (DOCUTILS_FOUND)
set(USE_RST2HTML 0)
message(STATUS "Conversion of documentation to html disabled (because python docutils not found)")
endif (DOCUTILS_FOUND)
elseif(USE_RST2HTML EQUAL 0)
message(STATUS "Conversion of documentation to html disabled (because disabled previously)")
elseif(USE_RST2HTML EQUAL 1)
message(STATUS "Conversion of documentation to html enabled (because enabled previously)")
endif(ENABLE_HTML_DOCUMENTATION)
if(USE_RST2HTML AND NOT DOCUTILS_FOUND)
message(SEND_ERROR "Conversion of documentation to html is enabled, but python docutils was not found.")
endif(USE_RST2HTML AND NOT DOCUTILS_FOUND)
# Save USE_RST2HTML for next invocation
set(USE_RST2HTML ${USE_RST2HTML} CACHE INTERNAL "Internal use - do not modify")
file(GLOB DOC_RST_FILES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" *.rst)
string(REPLACE ".rst" ".html" DOC_HTML_FILES "${DOC_RST_FILES}")
add_custom_target(htmldoc ALL DEPENDS ${DOC_HTML_FILES})
RST2HTML(${DOC_RST_FILES})