blob: 8de246d64aba96de6983ba06fa83ebb6194811d9 [file] [log] [blame]
SET(MDOC3_PAGES
libzip.mdoc
zip_add.mdoc
zip_add_dir.mdoc
zip_close.mdoc
zip_delete.mdoc
zip_error_clear.mdoc
zip_error_get.mdoc
zip_error_get_sys_type.mdoc
zip_error_to_str.mdoc
zip_errors.mdoc
zip_fclose.mdoc
zip_file_strerror.mdoc
zip_fopen.mdoc
zip_fread.mdoc
zip_get_archive_comment.mdoc
zip_get_file_comment.mdoc
zip_get_name.mdoc
zip_get_num_files.mdoc
zip_name_locate.mdoc
zip_open.mdoc
zip_rename.mdoc
zip_set_archive_comment.mdoc
zip_set_file_comment.mdoc
zip_source_buffer.mdoc
zip_source_file.mdoc
zip_source_filep.mdoc
zip_source_free.mdoc
zip_source_function.mdoc
zip_source_zip.mdoc
zip_stat.mdoc
zip_stat_init.mdoc
zip_unchange.mdoc
zip_unchange_all.mdoc
zip_unchange_archive.mdoc
)
SET(MDOC1_PAGES
zipcmp.mdoc
zipmerge.mdoc
)
SET(MDOC_PAGES ${MDOC1_PAGES} ${MDOC3_PAGES})
STRING(REGEX REPLACE .mdoc "" MAN1_PAGES "${MDOC1_PAGES}")
STRING(REGEX REPLACE .mdoc "" MAN3_PAGES "${MDOC3_PAGES}")
SET(MAN_PAGES ${MAN1_PAGES} ${MAN3_PAGES})
IF(CMAKE_SYSTEM_NAME MATCHES BSD)
SET(MANFMT mdoc)
ELSE(CMAKE_SYSTEM_NAME MATCHES BSD)
SET(MANFMT man)
ENDif(CMAKE_SYSTEM_NAME MATCHES BSD)
# installation
SET(MAN_PATH man)
FOREACH(MAN_PAGE ${MAN1_PAGES})
INSTALL(FILES ${MAN_PAGE}.${MANFMT} DESTINATION ${MAN_PATH}/man1
RENAME ${MAN_PAGE}.1)
ENDFOREACH(MAN_PAGE ${PROGRAMS})
FOREACH(MAN_PAGE ${MAN3_PAGES})
INSTALL(FILES ${MAN_PAGE}.${MANFMT} DESTINATION ${MAN_PATH}/man3
RENAME ${MAN_PAGE}.3)
ENDFOREACH(MAN_PAGE ${PROGRAMS})
# custom targets
FOREACH(MAN ${MAN_PAGES})
ADD_CUSTOM_TARGET(${MAN}.man
DEPENDS ${MAN}.mdoc
COMMAND mdoc2man ${CMAKE_CURRENT_SOURCE_DIR}/${MAN}.mdoc > ${MAN}.new
COMMAND diff -I NiH ${MAN}.new ${CMAKE_CURRENT_SOURCE_DIR}/${MAN}.man || mv ${MAN}.new ${CMAKE_CURRENT_SOURCE_DIR}/${MAN}.man
COMMAND rm -f ${MAN}.new
COMMENT Updating man page ${MAN}.man
)
ADD_CUSTOM_TARGET(${MAN}.html
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${MAN}.mdoc
COMMAND nroff -mdoc2html ${CMAKE_CURRENT_SOURCE_DIR}/${MAN}.mdoc | sed -e "s,../html[0-9]/,," > ${MAN}.html
COMMENT Updating HTML page ${MAN}.html
)
ENDFOREACH(MAN)
STRING(REGEX REPLACE .mdoc .man MANDEPEND "${MDOC_PAGES}")
ADD_CUSTOM_TARGET(update-man
DEPENDS ${MANDEPEND})
STRING(REGEX REPLACE .mdoc .html HTMLDEPEND "${MDOC_PAGES}")
ADD_CUSTOM_TARGET(update-html
DEPENDS ${HTMLDEPEND})
# XXX: strange error:
#[ 94%] zipcmp.html
#[ 97%] Built target zipcmp.html
#[ 97%] zipmerge.html
#[100%] Built target zipmerge.html
#make: don't know how to make zipcmp.html. Stop
# XXX: why are all the man pages rebuilt on a second 'make update-html'?