Add manpage generation, update README

This commit is contained in:
Přemysl Eric Janouch 2015-02-14 01:18:39 +01:00
parent 600b006f4b
commit 38ebe65826
3 changed files with 38 additions and 6 deletions

View File

@ -36,6 +36,30 @@ include (GNUInstallDirs)
install (TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR}) install (TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR})
install (FILES LICENSE DESTINATION ${CMAKE_INSTALL_DOCDIR}) install (FILES LICENSE DESTINATION ${CMAKE_INSTALL_DOCDIR})
# Generate documentation from program help
find_program (HELP2MAN_EXECUTABLE help2man)
if (NOT HELP2MAN_EXECUTABLE)
message (FATAL_ERROR "help2man not found")
endif (NOT HELP2MAN_EXECUTABLE)
foreach (page ${PROJECT_NAME})
set (page_output "${PROJECT_BINARY_DIR}/${page}.1")
list (APPEND project_MAN_PAGES "${page_output}")
add_custom_command (OUTPUT ${page_output}
COMMAND ${HELP2MAN_EXECUTABLE} -N
"${PROJECT_BINARY_DIR}/${page}" -o ${page_output}
DEPENDS ${page}
COMMENT "Generating man page for ${page}" VERBATIM)
endforeach (page)
add_custom_target (docs ALL DEPENDS ${project_MAN_PAGES})
foreach (page ${project_MAN_PAGES})
string (REGEX MATCH "\\.([0-9])" manpage_suffix "${page}")
install (FILES "${page}"
DESTINATION "${CMAKE_INSTALL_MANDIR}/man${CMAKE_MATCH_1}")
endforeach (page)
# CPack # CPack
set (CPACK_PACKAGE_DESCRIPTION_SUMMARY "Shell for JSON-RPC 2.0 HTTP queries") set (CPACK_PACKAGE_DESCRIPTION_SUMMARY "Shell for JSON-RPC 2.0 HTTP queries")
set (CPACK_PACKAGE_VENDOR "Premysl Janouch") set (CPACK_PACKAGE_VENDOR "Premysl Janouch")
@ -53,4 +77,3 @@ set (CPACK_SOURCE_IGNORE_FILES "/\\\\.git;/build;/CMakeLists.txt.user")
set (CPACK_SOURCE_PACKAGE_FILE_NAME "${PROJECT_NAME}-${project_VERSION}") set (CPACK_SOURCE_PACKAGE_FILE_NAME "${PROJECT_NAME}-${project_VERSION}")
include (CPack) include (CPack)

17
README
View File

@ -10,16 +10,25 @@ Fuck Java. With a sharp, pointy object. In the ass. Hard. json-c as well.
Building and Running Building and Running
-------------------- --------------------
Build dependencies: CMake, pkg-config, libev, Jansson, cURL, readline Build dependencies: CMake, pkg-config, help2man, libev, Jansson, cURL, readline
$ git clone https://github.com/pjanouch/json-rpc-shell.git $ git clone https://github.com/pjanouch/json-rpc-shell.git
$ mkdir build $ mkdir build
$ cd build $ cd build
$ cmake .. -DCMAKE_BUILD_TYPE=Debug $ cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug
$ make $ make
Now you can run the following command to get some help about the exact usage: To install the application, you can do either the usual:
$ ./json-rpc-shell --help $ make install
Or you can try telling CMake to make a package for you. For Debian it is:
$ cpack -G DEB
# dpkg -i json-rpc-shell-*.deb
Note that for versions of CMake before 2.8.9, you need to prefix cpack with
`fakeroot' or file ownership will end up wrong.
Run the program with `--help' to obtain usage information.
License License
------- -------

View File

@ -605,7 +605,7 @@ on_tty_readable (EV_P_ ev_io *handle, int revents)
static void static void
print_usage (const char *program_name) print_usage (const char *program_name)
{ {
fprintf (stderr, fprintf (stdout,
"Usage: %s [OPTION]... ENDPOINT\n" "Usage: %s [OPTION]... ENDPOINT\n"
"Trivial JSON-RPC shell.\n" "Trivial JSON-RPC shell.\n"
"\n" "\n"