Blame html/man/HtmlDoc.cmake

Packit 85355f
# CMake documentation generation for libtiff
Packit 85355f
#
Packit 85355f
# Copyright © 2015 Open Microscopy Environment / University of Dundee
Packit 85355f
# Written by Roger Leigh <rleigh@codelibre.net>
Packit 85355f
#
Packit 85355f
# Permission to use, copy, modify, distribute, and sell this software and
Packit 85355f
# its documentation for any purpose is hereby granted without fee, provided
Packit 85355f
# that (i) the above copyright notices and this permission notice appear in
Packit 85355f
# all copies of the software and related documentation, and (ii) the names of
Packit 85355f
# Sam Leffler and Silicon Graphics may not be used in any advertising or
Packit 85355f
# publicity relating to the software without the specific, prior written
Packit 85355f
# permission of Sam Leffler and Silicon Graphics.
Packit 85355f
#
Packit 85355f
# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
Packit 85355f
# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
Packit 85355f
# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Packit 85355f
#
Packit 85355f
# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
Packit 85355f
# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
Packit 85355f
# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
Packit 85355f
# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
Packit 85355f
# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
Packit 85355f
# OF THIS SOFTWARE.
Packit 85355f
Packit 85355f
string(REPLACE "^" ";" DOCFILES "${DOCFILES}")
Packit 85355f
Packit 85355f
set(INDEXSTART "<html><head><title>Libtiff HTML manpage index</title></head><body bgcolor=white>

    Man Pages

    ")

Packit 85355f
set(INDEXEND "</body></html>")
Packit 85355f
Packit 85355f
set(indexcontent "${INDEXSTART}
Packit 85355f
")
Packit 85355f
Packit 85355f
foreach(doc ${DOCFILES})
Packit 85355f
  string(REGEX REPLACE "(.*)\\.html$" "\\1" man "${doc}")
Packit 85355f
  execute_process(COMMAND groff -Thtml -mandoc "${MANSRCDIR}/${man}"
Packit 85355f
    OUTPUT_FILE "${HTMLMANDIR}/${doc}"
Packit 85355f
    RESULT_VARIABLE GROFF_STATUS)
Packit 85355f
  if(GROFF_STATUS)
Packit 85355f
    message(FATAL_ERROR "Groff failed to generate HTML manpage")
Packit 85355f
  endif()
Packit 85355f
  message(STATUS "Generated ${HTMLMANDIR}/${doc} from ${MANSRCDIR}/${man}")
Packit 85355f
Packit 85355f
  set(indexcontent "${indexcontent}
  • ${man}
  • Packit 85355f
    ")
    Packit 85355f
    endforeach()
    Packit 85355f
    Packit 85355f
    set(indexcontent "${indexcontent}${INDEXEND}
    Packit 85355f
    ")
    Packit 85355f
    file(WRITE "${HTMLMANDIR}/${INDEXFILE}" "${indexcontent}")
    Packit 85355f
    message(STATUS "Generated ${HTMLMANDIR}/${INDEXFILE}")