summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorAzat Khuzhin <azat@libevent.org>2020-10-04 19:55:52 +0300
committerAzat Khuzhin <azat@libevent.org>2020-10-04 21:33:00 +0300
commit21b91692dadd9940a95153a27d7c88a82ea3df62 (patch)
tree0da137e8bed7fbf51bd5f7676be6abdac4d25f02 /cmake
parent3012c43808fcb0d6c819d122e617f8e217fcd375 (diff)
downloadlibevent-21b91692dadd9940a95153a27d7c88a82ea3df62.tar.gz
Add prefix (le_) for man pages
This will: - avoid overlapping (since there is util.h.3 page) - group everything under some prefix (man le_<TAB><TAB> will show everything) Fixes: #1099
Diffstat (limited to 'cmake')
-rw-r--r--cmake/RenameDoxygen.cmake17
-rw-r--r--cmake/UseDoxygen.cmake11
2 files changed, 26 insertions, 2 deletions
diff --git a/cmake/RenameDoxygen.cmake b/cmake/RenameDoxygen.cmake
new file mode 100644
index 00000000..43a75af4
--- /dev/null
+++ b/cmake/RenameDoxygen.cmake
@@ -0,0 +1,17 @@
+# Add prefix "le_" for manual pages
+
+message(STATUS "Rename man pages in ${CMAKE_BINARY_DIR}")
+
+# Remove old pages to avoid stalled copies
+file(GLOB LIBEVENT_MAN_PAGES RELATIVE ${CMAKE_BINARY_DIR} le_*)
+list(LENGTH LIBEVENT_MAN_PAGES LEN)
+if (${LEN} GREATER 0)
+ file(REMOVE ${LIBEVENT_MAN_PAGES})
+endif()
+
+# Create new
+file(GLOB LIBEVENT_MAN_PAGES RELATIVE ${CMAKE_BINARY_DIR} *)
+list(FILTER LIBEVENT_MAN_PAGES EXCLUDE REGEX ^le_.*$)
+foreach(MAN_PAGE ${LIBEVENT_MAN_PAGES})
+ file(RENAME ${CMAKE_BINARY_DIR}/${MAN_PAGE} ${CMAKE_BINARY_DIR}/le_${MAN_PAGE})
+endforeach()
diff --git a/cmake/UseDoxygen.cmake b/cmake/UseDoxygen.cmake
index 1209b5a7..83a98011 100644
--- a/cmake/UseDoxygen.cmake
+++ b/cmake/UseDoxygen.cmake
@@ -95,10 +95,17 @@ macro(UseDoxygen)
)
endif()
- # Install manual into <prefix>/share/man/man3
if ("${DOXYGEN_GENERATE_MAN}" STREQUAL "YES")
+ set(MAN_PAGES_DIR ${PROJECT_BINARY_DIR}/${DOXYGEN_OUTPUT_DIRECTORY}/man/man3)
+ # Add prefix "le_" for manual pages
+ add_custom_target(doxygen-rename-man-pages ALL
+ COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/RenameDoxygen.cmake
+ DEPENDS doxygen
+ WORKING_DIRECTORY ${MAN_PAGES_DIR})
+
+ # Install manual into <prefix>/share/man/man3
install(DIRECTORY
- ${PROJECT_BINARY_DIR}/${DOXYGEN_OUTPUT_DIRECTORY}/man/man3
+ ${MAN_PAGES_DIR}
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man
COMPONENT doc
)