mirror of https://github.com/Cisco-Talos/clamav
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
120 lines
3.7 KiB
120 lines
3.7 KiB
# Generate documentation (man pages, doxygen, etc.)
|
|
|
|
if(ENABLE_MAN_PAGES)
|
|
#
|
|
# man pages
|
|
#
|
|
# .1 files
|
|
configure_file(man/clamscan.1.in man/clamscan.1)
|
|
configure_file(man/freshclam.1.in man/freshclam.1)
|
|
configure_file(man/sigtool.1.in man/sigtool.1)
|
|
configure_file(man/clamdscan.1.in man/clamdscan.1)
|
|
configure_file(man/clamconf.1.in man/clamconf.1)
|
|
configure_file(man/clamdtop.1.in man/clamdtop.1)
|
|
configure_file(man/clamsubmit.1.in man/clamsubmit.1)
|
|
configure_file(man/clambc.1.in man/clambc.1)
|
|
# .5 files
|
|
configure_file(man/clamd.conf.5.in man/clamd.conf.5)
|
|
configure_file(man/clamav-milter.conf.5.in man/clamav-milter.conf.5)
|
|
configure_file(man/freshclam.conf.5.in man/freshclam.conf.5)
|
|
# .8 files
|
|
configure_file(man/clamd.8.in man/clamd.8)
|
|
configure_file(man/clamav-milter.8.in man/clamav-milter.8)
|
|
if(C_LINUX)
|
|
configure_file(man/clamonacc.8.in man/clamonacc.8)
|
|
endif()
|
|
|
|
set(MAN1_FILES
|
|
man/clamscan.1
|
|
man/freshclam.1
|
|
man/sigtool.1
|
|
man/clamdscan.1
|
|
man/clamconf.1
|
|
man/clamdtop.1
|
|
man/clamsubmit.1
|
|
man/clambc.1)
|
|
foreach(m IN LISTS MAN1_FILES)
|
|
install(
|
|
FILES
|
|
${CMAKE_CURRENT_BINARY_DIR}/${m}
|
|
DESTINATION
|
|
${CMAKE_INSTALL_MANDIR}/man1
|
|
COMPONENT documentation)
|
|
endforeach()
|
|
|
|
set(MAN5_FILES
|
|
man/clamd.conf.5
|
|
man/clamav-milter.conf.5
|
|
man/freshclam.conf.5)
|
|
foreach(m IN LISTS MAN5_FILES)
|
|
install(
|
|
FILES
|
|
${CMAKE_CURRENT_BINARY_DIR}/${m}
|
|
DESTINATION
|
|
${CMAKE_INSTALL_MANDIR}/man5
|
|
COMPONENT documentation)
|
|
endforeach()
|
|
|
|
set(MAN8_FILES
|
|
man/clamd.8
|
|
man/clamav-milter.8)
|
|
foreach(m IN LISTS MAN8_FILES)
|
|
install(
|
|
FILES
|
|
${CMAKE_CURRENT_BINARY_DIR}/${m}
|
|
DESTINATION
|
|
${CMAKE_INSTALL_MANDIR}/man8
|
|
COMPONENT documentation)
|
|
endforeach()
|
|
|
|
if(C_LINUX)
|
|
# Also install Linux-only manpage
|
|
install(
|
|
FILES
|
|
${CMAKE_CURRENT_BINARY_DIR}/man/clamonacc.8
|
|
DESTINATION
|
|
${CMAKE_INSTALL_MANDIR}/man8
|
|
COMPONENT documentation)
|
|
endif()
|
|
endif()
|
|
|
|
if(ENABLE_DOXYGEN)
|
|
#
|
|
# clamav.h and libfreshclam.h doxygen docs
|
|
#
|
|
find_package(Doxygen REQUIRED)
|
|
|
|
set(DOXYGEN_GENERATE_HTML YES)
|
|
set(DOXYGEN_GENERATE_MAN NO)
|
|
set(DOXYGEN_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
set(EXTRACT_ALL YES)
|
|
set(HIDE_UNDOC_MEMBERS YES)
|
|
set(JAVADOC_AUTOBRIEF YES)
|
|
set(OPTIMIZE_OUTPUT_FOR_C YES)
|
|
set(FULL_PATH_NAMES NO)
|
|
set(GENERATE_LATEX NO)
|
|
|
|
doxygen_add_docs(doxygen
|
|
${CMAKE_SOURCE_DIR}/libclamav/clamav.h
|
|
${CMAKE_SOURCE_DIR}/libfreshclam/libfreshclam.h
|
|
COMMENT "Generate html documentation")
|
|
|
|
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html
|
|
DESTINATION ${CMAKE_INSTALL_DOCDIR}
|
|
COMPONENT documentation OPTIONAL)
|
|
endif()
|
|
|
|
# When built from the release tarball, this includes the user manual
|
|
# which is exported from the clamav-faq repo.
|
|
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/html/index.html)
|
|
if(WIN32)
|
|
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/html/
|
|
DESTINATION ./UserManual
|
|
COMPONENT documentation)
|
|
else()
|
|
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/html
|
|
DESTINATION ${CMAKE_INSTALL_DOCDIR}
|
|
COMPONENT documentation)
|
|
endif()
|
|
endif()
|
|
|