1# CMake documentation generation for libtiff
2#
3# Copyright © 2015 Open Microscopy Environment / University of Dundee
4# Written by Roger Leigh <rleigh@codelibre.net>
5#
6# Permission to use, copy, modify, distribute, and sell this software and
7# its documentation for any purpose is hereby granted without fee, provided
8# that (i) the above copyright notices and this permission notice appear in
9# all copies of the software and related documentation, and (ii) the names of
10# Sam Leffler and Silicon Graphics may not be used in any advertising or
11# publicity relating to the software without the specific, prior written
12# permission of Sam Leffler and Silicon Graphics.
13#
14# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
15# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
16# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
17#
18# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
19# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
20# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
21# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
22# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
23# OF THIS SOFTWARE.
24
25string(REPLACE "^" ";" DOCFILES "${DOCFILES}")
26
27set(INDEXSTART "<html><head><title>Libtiff HTML manpage index</title></head><body bgcolor=white><ul><h2>Man Pages</h2><p>")
28set(INDEXEND "</ul></body></html>")
29
30set(indexcontent "${INDEXSTART}
31")
32
33foreach(doc ${DOCFILES})
34  string(REGEX REPLACE "(.*)\\.html$" "\\1" man "${doc}")
35  execute_process(COMMAND groff -Thtml -mandoc "${MANSRCDIR}/${man}"
36    OUTPUT_FILE "${HTMLMANDIR}/${doc}"
37    RESULT_VARIABLE GROFF_STATUS)
38  if(GROFF_STATUS)
39    message(FATAL_ERROR "Groff failed to generate HTML manpage")
40  endif()
41  message(STATUS "Generated ${HTMLMANDIR}/${doc} from ${MANSRCDIR}/${man}")
42
43  set(indexcontent "${indexcontent}<li><a href=\"${doc}\">${man}</a>
44")
45endforeach()
46
47set(indexcontent "${indexcontent}${INDEXEND}
48")
49file(WRITE "${HTMLMANDIR}/${INDEXFILE}" "${indexcontent}")
50message(STATUS "Generated ${HTMLMANDIR}/${INDEXFILE}")
51