[doc] CMake: don't quit if txt2tags is not found
Don't return if txt2tags is not found, so that Doxygen-generated man pages can be built.
This commit is contained in:
parent
386c279f6c
commit
c169bcb5d2
|
@ -9,57 +9,59 @@
|
||||||
# distributed along with this file, either separately or by replacing
|
# distributed along with this file, either separately or by replacing
|
||||||
# this notice by the COPYRIGHT.t2t file's contents.
|
# this notice by the COPYRIGHT.t2t file's contents.
|
||||||
|
|
||||||
|
|
||||||
|
set(MAN_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/man")
|
||||||
|
add_custom_target(doc ALL true)
|
||||||
|
|
||||||
|
|
||||||
|
### txt2tags manual pages ###
|
||||||
|
|
||||||
# Make sure txt2tags is available
|
# Make sure txt2tags is available
|
||||||
find_package(Txt2tags)
|
find_package(Txt2tags)
|
||||||
if (NOT TXT2TAGS_FOUND)
|
if (NOT TXT2TAGS_FOUND)
|
||||||
message(WARNING
|
message(WARNING
|
||||||
"Dependency missing to generate OwlPS' documentation: txt2tags")
|
"Couldn't find txt2tags: disabling generation of txt2tags-based man pages")
|
||||||
return()
|
else()
|
||||||
|
|
||||||
|
set(PREPROC_MAN ./preproc-man.sh)
|
||||||
|
|
||||||
|
function(add_manpage PAGENAME SECTION)
|
||||||
|
set(OUTPUT_DIRECTORY "${MAN_OUTPUT_DIRECTORY}/man${SECTION}")
|
||||||
|
set(SOURCE ${PAGENAME}.t2t)
|
||||||
|
set(TARGETNAME ${PAGENAME}.${SECTION})
|
||||||
|
set(TARGET "${OUTPUT_DIRECTORY}/${TARGETNAME}")
|
||||||
|
|
||||||
|
# Create the output directory
|
||||||
|
# Note: this is done only when first calling cmake and when rebuilding
|
||||||
|
# cache; it would be nice if it could be called every time, but there
|
||||||
|
# doesn't seem to be any simple solution.
|
||||||
|
file(MAKE_DIRECTORY "${OUTPUT_DIRECTORY}")
|
||||||
|
|
||||||
|
# Command to generate the man page
|
||||||
|
add_custom_command(
|
||||||
|
OUTPUT "${TARGET}"
|
||||||
|
COMMAND "${PREPROC_MAN}" "${SOURCE}" | "${TXT2TAGS_EXECUTABLE}" -q --infile=- --outfile="${TARGET}" -t man
|
||||||
|
DEPENDS "${SOURCE}"
|
||||||
|
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
|
||||||
|
COMMENT "Generating ${TARGETNAME}")
|
||||||
|
|
||||||
|
# Set up the target
|
||||||
|
add_custom_target(${TARGETNAME} true DEPENDS "${TARGET}")
|
||||||
|
|
||||||
|
# Add the target to the "doc" meta-target
|
||||||
|
add_dependencies(doc "${TARGETNAME}")
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
add_manpage(owlps 7)
|
||||||
|
add_manpage(owlps-architecture 7)
|
||||||
|
add_manpage(owlps-deployment 7)
|
||||||
|
add_manpage(owlps-client 1)
|
||||||
|
add_manpage(owlps-listenerd 1)
|
||||||
|
add_manpage(owlps-aggregatord 1)
|
||||||
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
### Man pages ###
|
|
||||||
|
|
||||||
set(MAN_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/man")
|
|
||||||
set(PREPROC_MAN ./preproc-man.sh)
|
|
||||||
|
|
||||||
add_custom_target(doc ALL true)
|
|
||||||
|
|
||||||
function(add_manpage PAGENAME SECTION)
|
|
||||||
set(OUTPUT_DIRECTORY "${MAN_OUTPUT_DIRECTORY}/man${SECTION}")
|
|
||||||
set(SOURCE ${PAGENAME}.t2t)
|
|
||||||
set(TARGETNAME ${PAGENAME}.${SECTION})
|
|
||||||
set(TARGET "${OUTPUT_DIRECTORY}/${TARGETNAME}")
|
|
||||||
|
|
||||||
# Create the output directory
|
|
||||||
# Note: this is done only when first calling cmake and when rebuilding
|
|
||||||
# cache; it would be nice if it could be called every time, but there
|
|
||||||
# doesn't seem to be any simple solution.
|
|
||||||
file(MAKE_DIRECTORY "${OUTPUT_DIRECTORY}")
|
|
||||||
|
|
||||||
# Command to generate the man page
|
|
||||||
add_custom_command(
|
|
||||||
OUTPUT "${TARGET}"
|
|
||||||
COMMAND "${PREPROC_MAN}" "${SOURCE}" | "${TXT2TAGS_EXECUTABLE}" -q --infile=- --outfile="${TARGET}" -t man
|
|
||||||
DEPENDS "${SOURCE}"
|
|
||||||
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
|
|
||||||
COMMENT "Generating ${TARGETNAME}")
|
|
||||||
|
|
||||||
# Set up the target
|
|
||||||
add_custom_target(${TARGETNAME} true DEPENDS "${TARGET}")
|
|
||||||
|
|
||||||
# Add the target to the "doc" meta-target
|
|
||||||
add_dependencies(doc "${TARGETNAME}")
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
add_manpage(owlps 7)
|
|
||||||
add_manpage(owlps-architecture 7)
|
|
||||||
add_manpage(owlps-deployment 7)
|
|
||||||
add_manpage(owlps-client 1)
|
|
||||||
add_manpage(owlps-listenerd 1)
|
|
||||||
add_manpage(owlps-aggregatord 1)
|
|
||||||
|
|
||||||
|
|
||||||
### Doxygen-generated man pages ###
|
### Doxygen-generated man pages ###
|
||||||
|
|
||||||
if (NOT DOXYGEN_FOUND)
|
if (NOT DOXYGEN_FOUND)
|
||||||
|
|
Loading…
Reference in New Issue