source: docu/doxygen/CMakeLists.txt@ 12747

Last change on this file since 12747 was 10706, checked in by Michael Tänzer, 12 years ago

CMake: documentation should depend on the Doxyfile so it gets rebuilt once it changes

File size: 3.6 KB
Line 
1# [License]
2# The Ariba-Underlay Copyright
3#
4# Copyright (c) 2008-2012, Institute of Telematics, UniversitÀt Karlsruhe (TH)
5#
6# Institute of Telematics
7# UniversitÀt Karlsruhe (TH)
8# Zirkel 2, 76128 Karlsruhe
9# Germany
10#
11# Redistribution and use in source and binary forms, with or without
12# modification, are permitted provided that the following conditions are
13# met:
14#
15# 1. Redistributions of source code must retain the above copyright
16# notice, this list of conditions and the following disclaimer.
17# 2. Redistributions in binary form must reproduce the above copyright
18# notice, this list of conditions and the following disclaimer in the
19# documentation and/or other materials provided with the distribution.
20#
21# THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
22# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
24# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OF TELEMATICS OR
25# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
26# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
27# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
28# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
29# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
30# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
31# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32#
33# The views and conclusions contained in the software and documentation
34# are those of the authors and should not be interpreted as representing
35# official policies, either expressed or implied, of the Institute of
36# Telematics.
37# [License]
38
39option(DOCUMENTATION_GENERATE_GRAPHICS
40 "Whether graphics should be generated for the documentation.
41This might take a long time and quite some amount of space"
42 OFF
43 )
44
45if(NOT DOCUMENTATION_GENERATE_GRAPHICS)
46 set(DOXYGEN_SKIP_DOT TRUE)
47endif(NOT DOCUMENTATION_GENERATE_GRAPHICS)
48
49find_package(Doxygen)
50
51if(DOXYGEN_FOUND)
52 # Generate the Doxyfile
53 configure_file(
54 Doxyfile.in
55 Doxyfile
56 @ONLY
57 )
58
59 file(GLOB_RECURSE doxygen_SOURCES
60 "${ariba_SOURCE_DIR}/source/*.c"
61 "${ariba_SOURCE_DIR}/source/*.cc"
62 "${ariba_SOURCE_DIR}/source/*.cxx"
63 "${ariba_SOURCE_DIR}/source/*.cpp"
64 "${ariba_SOURCE_DIR}/source/*.c++"
65 "${ariba_SOURCE_DIR}/source/*.h"
66 "${ariba_SOURCE_DIR}/source/*.hh"
67 "${ariba_SOURCE_DIR}/source/*.hxx"
68 "${ariba_SOURCE_DIR}/source/*.hpp"
69 "${ariba_SOURCE_DIR}/source/*.h++"
70 )
71
72 add_custom_command(
73 OUTPUT html/index.html
74 COMMAND ${DOXYGEN_EXECUTABLE} Doxyfile
75 MAIN_DEPENDENCY "${ariba_SOURCE_DIR}/source/ariba/ariba.h"
76 DEPENDS
77 ${doxygen_SOURCES}
78 "${CMAKE_CURRENT_BINARY_DIR}/Doxyfile"
79 COMMENT "Building Doxygen documentation"
80 )
81
82
83 option(ALWAYS_BUILD_DOCUMENTATION
84 "Always build the documentation when compiling the project? If OFF the
85documentation is only built when building the target 'docu'"
86 OFF)
87 if(ALWAYS_BUILD_DOCUMENTATION)
88 set(BUILD_DOCU_ALL "ALL")
89 endif()
90
91 add_custom_target(docu ${BUILD_DOCU_ALL}
92 DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/html/index.html"
93
94 )
95
96
97 install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/html/"
98 DESTINATION share/doc/libariba-doc/html
99 COMPONENT Documentation
100 OPTIONAL
101 )
102
103 set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES html)
104endif(DOXYGEN_FOUND)
Note: See TracBrowser for help on using the repository browser.