view docs/CMakeLists.txt @ 0:8991989c4708

Initial import
author David Demelier <markand@malikania.fr>
date Tue, 22 Mar 2016 18:26:05 +0100
parents
children c12262a01559
line wrap: on
line source

#
# CMakeLists.txt -- CMake build system for malikania
#
# Copyright (c) 2013-2016 Malikania Authors
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#

project(docs)

add_custom_target(
	docs
	ALL
	COMMENT "Generating documentation"
)

#
# Doxygen generation.
# -------------------------------------------------------------------
#

find_package(Doxygen)

if (DOXYGEN_FOUND)
	if (WITH_DOCS_DOXYGEN)
		setg(WITH_DOCS_DOXYGEN_MSG "Yes")
	else ()
		setg(WITH_DOCS_DOXYGEN_MSG "No (disabled by user)")
	endif ()
else ()
	setg(WITH_DOCS_DOXYGEN_MSG "No (doxygen not found)")
	setg(WITH_DOCS_DOXYGEN Off)
endif ()

if (WITH_DOCS_DOXYGEN)
	add_subdirectory(doxygen)
endif ()

#
# UML generation with plantuml.
# -------------------------------------------------------------------
#

find_package(Java COMPONENTS Runtime)

if (Java_JAVA_EXECUTABLE AND DOXYGEN_DOT_EXECUTABLE)
	if (WITH_DOCS_UML)
		setg(WITH_DOCS_UML_MSG "Yes")
	else ()
		setg(WITH_DOCS_UML_MSG "No (disabled by user)")
	endif ()
elseif (NOT Java_JAVA_EXECUTABLE)
	setg(WITH_DOCS_UML_MSG "No (Java not found)")
	setg(WITH_DOCS_UML Off)
elseif (NOT DOXYGEN_DOT_EXECUTABLE)
	setg(WITH_DOCS_UML_MSG "No (dot not found)")
	setg(WITH_DOCS_UML Off)
endif ()

if (WITH_DOCS_UML)
	add_subdirectory(UML)
endif ()

#
# Books, specifications, docs generation.
# -------------------------------------------------------------------
#

find_package(Pandoc)
find_package(LATEX)

if (Pandoc_FOUND AND (PDFLATEX_COMPILER OR LATEX_COMPILER OR BIBTEX_COMPILER OR MAKEINDEX_COMPILER))
	if (WITH_DOCS_BOOKS)
		setg(WITH_DOCS_BOOKS_MSG "Yes")
	else ()
		setg(WITH_DOCS_BOOKS_MSG "No (disabled by user)")
	endif ()
elseif (NOT Pandoc_FOUND)
	setg(WITH_DOCS_BOOKS_MSG "No (pandoc not found)")
	setg(WITH_DOCS_BOOKS Off)
elseif (NOT PDFLATEX_COMPILER)
	setg(WITH_DOCS_BOOKS_MSG "No (pdflatex not found)")
	setg(WITH_DOCS_BOOKS Off)
endif ()

if (WITH_DOCS_BOOKS)
	add_subdirectory(books)
endif ()