Files
Brandyn / Techy fcc1b09210 init
2026-04-04 15:40:51 -05:00

59 lines
2.2 KiB
CMake

# SPDX-License-Identifier: BSD-3-Clause
# Copyright Contributors to the OpenEXR Project.
set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})
# man pages for the bin programs
find_program(HELP2MAN help2man)
set(MANPAGE_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/man)
file(MAKE_DIRECTORY ${MANPAGE_OUTPUT_DIR}/man1)
message(STATUS "MANPAGE_OUTPUT_DIR=${MANPAGE_OUTPUT_DIR}")
message(STATUS "CMAKE_INSTALL_MANDIR=${CMAKE_INSTALL_MANDIR}")
set(manpage_files "")
function(DEFINE_MANPAGE tool description)
set(manpage_file ${MANPAGE_OUTPUT_DIR}/man1/${tool}.1)
set(manpage_files "${manpage_files};${manpage_file}" PARENT_SCOPE)
add_custom_command(OUTPUT ${manpage_file}
COMMAND
${HELP2MAN} -n ${description} --output=${manpage_file} -N
${CMAKE_CURRENT_BINARY_DIR}/../bin/${tool}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/../bin/${tool}
COMMENT "Generating man page for ${tool}"
VERBATIM)
endfunction()
# Provide help2man a useful single-line program description. There's
# no especially good way to embed this in the program's --help text so
# that help2man can detect it.
define_manpage(exr2aces "convert exr images to ACES format")
define_manpage(exrcheck "validate exr files")
define_manpage(exrenvmap "convert exr image environment maps")
define_manpage(exrheader "print exr image header metadata")
define_manpage(exrinfo "print exr image header metadata")
define_manpage(exrmakepreview "generate exr preview thumbnail images")
define_manpage(exrmaketiled "convert exr images to tiled format")
define_manpage(exrmanifest "print id manifest")
define_manpage(exrmetrics "report read/write time")
define_manpage(exrmultipart "combine or split multipart exr images")
define_manpage(exrmultiview "convert between single/multi-view exr images")
define_manpage(exrstdattr "set exr image metadata")
add_custom_target(docs ALL DEPENDS ${manpage_files})
# Add a target to install the manpages
include(GNUInstallDirs)
install(DIRECTORY ${MANPAGE_OUTPUT_DIR}/man1 DESTINATION ${CMAKE_INSTALL_MANDIR})