Changeset View
Changeset View
Standalone View
Standalone View
cmake/modules/InstallationHelper.cmake
Show First 20 Lines • Show All 158 Lines • ▼ Show 20 Lines | function(install_shared_library NAME) | ||||
# Forward EXCLUDE_FROM_ALL if set | # Forward EXCLUDE_FROM_ALL if set | ||||
if(ARG_EXCLUDE_FROM_ALL) | if(ARG_EXCLUDE_FROM_ALL) | ||||
set(FORWARD_EXCLUDE_FROM_ALL EXCLUDE_FROM_ALL) | set(FORWARD_EXCLUDE_FROM_ALL EXCLUDE_FROM_ALL) | ||||
endif() | endif() | ||||
install_target(${_shared_name} ${FORWARD_EXCLUDE_FROM_ALL}) | install_target(${_shared_name} ${FORWARD_EXCLUDE_FROM_ALL}) | ||||
endfunction() | endfunction() | ||||
function(install_manpage TARGET) | function(install_manpages TARGET) | ||||
set(MAN_DESTINATION "${CMAKE_INSTALL_MANDIR}/man1") | |||||
set(MAN_PAGE "${CMAKE_BINARY_DIR}/doc/man/${TARGET}.1") | define_property(TARGET | ||||
add_custom_command( | PROPERTY MAN_PAGES | ||||
OUTPUT "${MAN_PAGE}" | BRIEF_DOCS "The man pages associated with the target" | ||||
COMMENT "Generating man page for ${TARGET}" | FULL_DOCS "A list of the man pages associated with a target" | ||||
COMMAND | |||||
"${CMAKE_SOURCE_DIR}/doc/man/gen-manpages.sh" | |||||
"$<TARGET_FILE:bitcoind>" | |||||
"$<TARGET_FILE:${TARGET}>" | |||||
"${MAN_PAGE}" | |||||
DEPENDS | |||||
bitcoind | |||||
"${TARGET}" | |||||
) | ) | ||||
add_custom_target(gen-manpage-${TARGET} | |||||
DEPENDS "${MAN_PAGE}" | set_property( | ||||
TARGET ${TARGET} | |||||
APPEND PROPERTY MAN_PAGES ${ARGN} | |||||
) | |||||
define_property(GLOBAL | |||||
PROPERTY TARGETS_TO_GENERATE_MAN_PAGES | |||||
BRIEF_DOCS "Targets with generated man pages" | |||||
FULL_DOCS "A list of the targets that require their man pages to be generated" | |||||
) | ) | ||||
# If no man page is given for this target, assume it should be generated | |||||
if(NOT ARGN) | |||||
set_property( | |||||
GLOBAL | |||||
APPEND PROPERTY TARGETS_TO_GENERATE_MAN_PAGES ${TARGET} | |||||
) | |||||
endif() | |||||
set(MAN_DESTINATION "${CMAKE_INSTALL_MANDIR}/man1") | |||||
install( | install( | ||||
FILES "${MAN_PAGE}" | FILES "$<TARGET_PROPERTY:${TARGET},MAN_PAGES>" | ||||
DESTINATION "${MAN_DESTINATION}" | DESTINATION "${MAN_DESTINATION}" | ||||
COMPONENT manpage-${TARGET} | COMPONENT manpage-${TARGET} | ||||
EXCLUDE_FROM_ALL | EXCLUDE_FROM_ALL | ||||
) | ) | ||||
_add_install_target(manpage-${TARGET} | _add_install_target(manpage-${TARGET} | ||||
DEPENDS gen-manpage-${TARGET} | |||||
EXCLUDE_FROM_ALL | EXCLUDE_FROM_ALL | ||||
) | ) | ||||
_add_install_target(manpages | _add_install_target(manpages | ||||
DEPENDS install-manpage-${TARGET} | DEPENDS install-manpage-${TARGET} | ||||
EXCLUDE_FROM_ALL | EXCLUDE_FROM_ALL | ||||
) | ) | ||||
if(NOT TARGET install-manpages-html) | if(NOT TARGET install-manpages-html) | ||||
Show All 18 Lines |