aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Walch <florian@fwalch.com>2014-08-22 18:40:12 +0200
committerJohn Szakmeister <john@szakmeister.net>2014-08-23 09:32:47 -0400
commit1310820e4f27eab2871ca5f5d20085cf53e8232a (patch)
tree5a3618e4167c7d14a0f827d8648cc082b4b7e8bd
parent8b5f148b55ede833b67bb9a49b500dbe49c329b5 (diff)
downloadrneovim-1310820e4f27eab2871ca5f5d20085cf53e8232a.tar.gz
rneovim-1310820e4f27eab2871ca5f5d20085cf53e8232a.tar.bz2
rneovim-1310820e4f27eab2871ca5f5d20085cf53e8232a.zip
CMake: Generate helptags during install step.
Fix #1056.
-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()