aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt3
-rw-r--r--cmake/GenerateHelptags.cmake15
2 files changed, 17 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7a3cef82cf..398dfdc303 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -177,7 +177,8 @@ if(BUSTED_PRG)
DEPENDS nvim-test unittest-headers)
endif()
-install(DIRECTORY runtime DESTINATION share/nvim/)
+install(DIRECTORY runtime DESTINATION share/nvim)
+install(SCRIPT ${CMAKE_MODULE_PATH}/GenerateHelptags.cmake)
# Unfortunately, the below does not work under Ninja. Ninja doesn't use a
# pseudo-tty when launching processes, because it can put many jobs in parallel
diff --git a/cmake/GenerateHelptags.cmake b/cmake/GenerateHelptags.cmake
new file mode 100644
index 0000000000..b85b77e1ff
--- /dev/null
+++ b/cmake/GenerateHelptags.cmake
@@ -0,0 +1,15 @@
+message(STATUS "Generating helptags.")
+
+execute_process(
+ COMMAND "${CMAKE_CURRENT_BINARY_DIR}/bin/nvim"
+ -u NONE
+ -esX
+ -c "helptags ++t ."
+ -c quit
+ WORKING_DIRECTORY "${CMAKE_INSTALL_PREFIX}/share/nvim/runtime/doc"
+ ERROR_VARIABLE err
+ RESULT_VARIABLE res)
+
+if(NOT res EQUAL 0)
+ message(FATAL_ERROR "Generating helptags failed: ${err}")
+endif()