From 0de3f3a3f7cf8dae92950e271954841be336a01e Mon Sep 17 00:00:00 2001 From: Konstantin Podsvirov Date: Sat, 6 Nov 2021 16:31:20 +0300 Subject: [PATCH] Allow to build man pages on Windows Why not if xsltproc available? Moreover why try to install not existent files? Signed-off-by: Konstantin Podsvirov --- man/CMakeLists.txt | 75 +++++++++++++++++++++++----------------------- 1 file changed, 38 insertions(+), 37 deletions(-) diff --git a/man/CMakeLists.txt b/man/CMakeLists.txt index 2c8b0955..a5b93e35 100644 --- a/man/CMakeLists.txt +++ b/man/CMakeLists.txt @@ -4,44 +4,45 @@ # could not be found, then the man pages will not be built or installed - # because the install is optional. -if(NOT WIN32) - find_program(XSLTPROC xsltproc OPTIONAL) - if(XSLTPROC) - function(compile_manpage page) - add_custom_command(OUTPUT ${CMAKE_SOURCE_DIR}/man/${page} - COMMAND xsltproc ${CMAKE_SOURCE_DIR}/man/${page}.xml -o ${CMAKE_SOURCE_DIR}/man/ - MAIN_DEPENDENCY ${CMAKE_SOURCE_DIR}/man/${page}.xml) - add_custom_target(${page} ALL DEPENDS ${CMAKE_SOURCE_DIR}/man/${page}) - endfunction() +find_program(XSLTPROC xsltproc OPTIONAL) +if(XSLTPROC) + function(compile_manpage page) + add_custom_command(OUTPUT ${CMAKE_SOURCE_DIR}/man/${page} + COMMAND xsltproc ${CMAKE_SOURCE_DIR}/man/${page}.xml -o ${CMAKE_SOURCE_DIR}/man/ + MAIN_DEPENDENCY ${CMAKE_SOURCE_DIR}/man/${page}.xml) + add_custom_target(${page} ALL DEPENDS ${CMAKE_SOURCE_DIR}/man/${page}) + endfunction() - compile_manpage("mosquitto_ctrl.1") - compile_manpage("mosquitto_ctrl_dynsec.1") - compile_manpage("mosquitto_passwd.1") - compile_manpage("mosquitto_pub.1") - compile_manpage("mosquitto_sub.1") - compile_manpage("mosquitto_rr.1") - compile_manpage("libmosquitto.3") - compile_manpage("mosquitto.conf.5") - compile_manpage("mosquitto-tls.7") - compile_manpage("mqtt.7") - compile_manpage("mosquitto.8") - else() - message(FATAL_ERROR "xsltproc not found: manpages cannot be built") - endif() + compile_manpage("mosquitto_ctrl.1") + compile_manpage("mosquitto_ctrl_dynsec.1") + compile_manpage("mosquitto_passwd.1") + compile_manpage("mosquitto_pub.1") + compile_manpage("mosquitto_sub.1") + compile_manpage("mosquitto_rr.1") + compile_manpage("libmosquitto.3") + compile_manpage("mosquitto.conf.5") + compile_manpage("mosquitto-tls.7") + compile_manpage("mqtt.7") + compile_manpage("mosquitto.8") + install(FILES + mosquitto_ctrl.1 + mosquitto_ctrl_dynsec.1 + mosquitto_passwd.1 + mosquitto_pub.1 + mosquitto_sub.1 + mosquitto_rr.1 + DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 + OPTIONAL) + + install(FILES libmosquitto.3 DESTINATION ${CMAKE_INSTALL_MANDIR}/man3 OPTIONAL) + install(FILES mosquitto.conf.5 DESTINATION ${CMAKE_INSTALL_MANDIR}/man5 OPTIONAL) + install(FILES mosquitto-tls.7 mqtt.7 DESTINATION ${CMAKE_INSTALL_MANDIR}/man7 OPTIONAL) + install(FILES mosquitto.8 DESTINATION ${CMAKE_INSTALL_MANDIR}/man8 OPTIONAL) + +elseif(WIN32) + message(WARNING "xsltproc not found: manpages cannot be built") +else() + message(FATAL_ERROR "xsltproc not found: manpages cannot be built") endif() -install(FILES - mosquitto_ctrl.1 - mosquitto_ctrl_dynsec.1 - mosquitto_passwd.1 - mosquitto_pub.1 - mosquitto_sub.1 - mosquitto_rr.1 - DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 - OPTIONAL) - -install(FILES libmosquitto.3 DESTINATION ${CMAKE_INSTALL_MANDIR}/man3 OPTIONAL) -install(FILES mosquitto.conf.5 DESTINATION ${CMAKE_INSTALL_MANDIR}/man5 OPTIONAL) -install(FILES mosquitto-tls.7 mqtt.7 DESTINATION ${CMAKE_INSTALL_MANDIR}/man7 OPTIONAL) -install(FILES mosquitto.8 DESTINATION ${CMAKE_INSTALL_MANDIR}/man8 OPTIONAL)