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