Fix man page building to not absolutely require xsltproc when using CMake.
This now handles the case where we are building from the released tar, or building from git if xsltproc is available, or building from git if xsltproc is not available.
This commit is contained in:
parent
05292cdbef
commit
217b416a2d
@ -1,6 +1,12 @@
|
||||
Broker:
|
||||
- Fix exporting of executable symbols on BSD when building via makefile.
|
||||
|
||||
Build:
|
||||
- Fix man page building to not absolutely require xsltproc when using CMake.
|
||||
This now handles the case where we are building from the released tar, or
|
||||
building from git if xsltproc is available, or building from git if xsltproc
|
||||
is not available.
|
||||
|
||||
|
||||
2.0.6 - 2021-01-28
|
||||
==================
|
||||
|
@ -1,31 +1,47 @@
|
||||
# If we are building from a release tarball, the man pages should already be built, so them.
|
||||
# If we are building from git, then the man pages will not be built. In this
|
||||
# case, attempt to find xsltproc, and if found build the man pages. If xsltproc
|
||||
# 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 REQUIRED)
|
||||
if(NOT XSLTPROC)
|
||||
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()
|
||||
|
||||
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")
|
||||
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)
|
||||
install(FILES libmosquitto.3 DESTINATION ${CMAKE_INSTALL_MANDIR}/man3)
|
||||
install(FILES mosquitto.conf.5 DESTINATION ${CMAKE_INSTALL_MANDIR}/man5)
|
||||
install(FILES mosquitto-tls.7 mqtt.7 DESTINATION ${CMAKE_INSTALL_MANDIR}/man7)
|
||||
install(FILES mosquitto.8 DESTINATION ${CMAKE_INSTALL_MANDIR}/man8)
|
||||
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)
|
||||
|
Loading…
Reference in New Issue
Block a user