diff options
| -rw-r--r-- | CMakeLists.txt | 58 | ||||
| -rw-r--r-- | docs/man/CMakeLists.txt | 358 |
2 files changed, 359 insertions, 57 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index f277c653..bf08ca90 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -86,7 +86,6 @@ endif() # User-defined options. -option (NNG_ENABLE_DOC "Enable building documentation." ON) option (NNG_TESTS "Build and run tests" ON) option (NNG_TOOLS "Build extra tools" ON) option (NNG_ENABLE_NNGCAT "Enable building nngcat utility." ${NNG_TOOLS}) @@ -420,62 +419,7 @@ if (NNG_ENABLE_NNGCAT) add_subdirectory (tools/nngcat) endif () -if (NNG_ENABLE_DOC) - find_program (ASCIIDOCTOR_EXE asciidoctor) - if (NOT ASCIIDOCTOR_EXE) - message (WARNING "Could not find asciidoctor: skipping docs") - set (NNG_ENABLE_DOC OFF) - else () - message (STATUS "Using asciidoctor at ${ASCIIDOCTOR_EXE}") - endif () -endif () - - -# Build the documenation -if (NNG_ENABLE_DOC) - - set (NNG_DOCDIR ${CMAKE_CURRENT_SOURCE_DIR}/doc) - set (NNG_STYLESHEET ${NNG_DOCDIR}/stylesheet.css) - set (NNG_TITLE ${PROJECT_NAME} ${NNG_PACKAGE_VERSION}) - set (NNG_A2M ${ASCIIDOCTOR_EXE} -b manpage -amanmanual='${NNG_TITLE}') - set (NNG_A2H ${ASCIIDOCTOR_EXE} -d manpage -b html5 -a stylesheeet=${NNG_STYLESHEET} -aversion-label=${PROJECT_NAME} -arevnumber=${NNG_PACKAGE_VERSION}) - - macro (add_libnng_man NAME SECT) - add_custom_command ( - OUTPUT ${NAME}.${SECT} - COMMAND ${NNG_A2M} -o ${NAME}.${SECT} ${NNG_DOCDIR}/${NAME}.adoc - MAIN_DEPENDENCY ${NNG_DOCDIR}/${NAME}.adoc - ) - - add_custom_command ( - OUTPUT ${NAME}.html - COMMAND ${NNG_A2H} -o ${NAME}.html ${NNG_DOCDIR}/${NAME}.adoc - DEPENDS ${NNG_STYLESHEET} - MAIN_DEPENDENCY ${NNG_DOCDIR}/${NAME}.adoc - ) - - set(NNG_MANS ${NNG_MANS} ${NAME}.${SECT}) - set(NNG_HTMLS ${NNG_HTMLS} ${NAME}.html) - - install ( - FILES ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.html - DESTINATION ${CMAKE_INSTALL_DOCDIR} - ) - install ( - FILES ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.${SECT} - DESTINATION ${CMAKE_INSTALL_MANDIR}/man${SECT} - ) - - endmacro (add_libnng_man) - - #add_libnng_man (nn_errno 3) - - #add_libnng_man (nanomsg 7) - - #add_custom_target (man ALL DEPENDS ${NNG_MANS}) - #add_custom_target (html ALL DEPENDS ${NNG_HTMLS}) - -endif () +add_subdirectory (docs/man) set (CPACK_PACKAGE_NAME ${PROJECT_NAME}) set (CPACK_PACKAGE_VERSION ${NNG_PACKAGE_VERSION}) diff --git a/docs/man/CMakeLists.txt b/docs/man/CMakeLists.txt new file mode 100644 index 00000000..66421553 --- /dev/null +++ b/docs/man/CMakeLists.txt @@ -0,0 +1,358 @@ +# +# Copyright 2018 Capitar IT Group BV <info@capitar.com> +# Copyright 2018 Staysail Systems, Inc. <info@staysail.tech> +# +# This software is supplied under the terms of the MIT License, a +# copy of which should be located in the distribution where this +# file was obtained (LICENSE.txt). A copy of the license may also be +# found online at https://opensource.org/licenses/MIT. + +# We default to off here. +option (NNG_ENABLE_DOC "Enable building documentation." OFF) + +if (NNG_ENABLE_DOC) + find_program (ASCIIDOCTOR asciidoctor) + if (NOT ASCIIDOCTOR) + message (WARNING "Could not find asciidoctor: skipping docs") + set (NNG_ENABLE_DOC OFF) + else () + message (STATUS "Using asciidoctor at ${ASCIIDOCTOR}") + endif () +endif () + +if (NNG_ENABLE_DOC) + set (NNG_DOCDIR ${CMAKE_CURRENT_SOURCE_DIR}) + + set (NNG_A2M ${ASCIIDOCTOR} -b manpage -amanmanual='NNG Reference Manual') + set (NNG_A2H ${ASCIIDOCTOR} -a nofooter -atoc=left -aicons=font -d manpage -b html5) + + macro (nng_man NAME SECT) + + add_custom_command ( + OUTPUT ${NAME}.${SECT} + COMMAND ${NNG_A2M} -o ${NAME}.${SECT} ${NNG_DOCDIR}/${NAME}.${SECT}.adoc + MAIN_DEPENDENCY ${NNG_DOCDIR}/${NAME}.${SECT}.adoc + ) + + add_custom_command ( + OUTPUT ${NAME}.${SECT}.html + COMMAND ${NNG_A2H} -o ${NAME}.html ${NNG_DOCDIR}/${NAME}.${SECT}.adoc + MAIN_DEPENDENCY ${NNG_DOCDIR}/${NAME}.${SECT}.adoc + ) + + set(NNG_MANS ${NNG_MANS} ${NAME}.${SECT}) + set(NNG_HTMLS ${NNG_HTMLS} ${NAME}.${SECT}.html) + + install ( + FILES ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.{SECT}.html + DESTINATION ${CMAKE_INSTALL_DOCDIR} + ) + install ( + FILES ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.${SECT} + DESTINATION ${CMAKE_INSTALL_MANDIR}/man${SECT} + ) + + endmacro (nng_man) + + set (NNG_MAN1 + nngcat + ) + + set (NNG_MAN3 + libnng + nng_aio_abort + nng_aio_alloc + nng_aio_cancel + nng_aio_count + nng_aio_finish + nng_aio_free + nng_aio_get_input + nng_aio_get_msg + nng_aio_get_output + nng_aio_result + nng_aio_set_input + nng_aio_set_iov + nng_aio_set_msg + nng_aio_set_output + nng_aio_set_timeout + nng_aio_stop + nng_aio_wait + nng_alloc + nng_bus_open + nng_close + nng_ctx_close + nng_ctx_getopt + nng_ctx_id + nng_ctx_open + nng_ctx_recv + nng_ctx_send + nng_ctx_setopt + nng_device + nng_dial + nng_dialer_close + nng_dialer_create + nng_dialer_getopt + nng_dialer_id + nng_dialer_setopt + nng_dialer_start + nng_free + nng_getopt + nng_inproc_register + nng_ipc_register + nng_listen + nng_listener_close + nng_listener_create + nng_listener_getopt + nng_listener_id + nng_listener_setopt + nng_listener_start + nng_msg_alloc + nng_msg_append + nng_msg_body + nng_msg_chop + nng_msg_clear + nng_msg_dup + nng_msg_free + nng_msg_get_pipe + nng_msg_header + nng_msg_header_append + nng_msg_header_chop + nng_msg_header_clear + nng_msg_header_insert + nng_msg_header_len + nng_msg_header_trim + nng_msg_insert + nng_msg_len + nng_msg_realloc + nng_msg_set_pipe + nng_msg_trim + nng_pair_open + nng_pipe_close + nng_pipe_dialer + nng_pipe_getopt + nng_pipe_id + nng_pipe_listener + nng_pipe_notify + nng_pipe_socket + nng_pub_open + nng_pull_open + nng_push_open + nng_recv + nng_recv_aio + nng_recvmsg + nng_rep_open + nng_req_open + nng_respondent_open + nng_send + nng_send_aio + nng_sendmsg + nng_setopt + nng_sleep_aio + nng_socket_id + nng_strdup + nng_strerror + nng_strfree + nng_sub_open + nng_surveyor_open + nng_tcp_register + nng_tls_register + nng_url_clone + nng_url_free + nng_url_parse + nng_version + nng_ws_register + nng_wss_register + nng_zt_register + ) + + set(NNG_MAN3COMPAT + nn_allocmsg + nn_bind + nn_close + nn_cmsg + nn_connect + nn_device + nn_errno + nn_freemsg + nn_get_statistic + nn_getsockopt + nn_poll + nn_reallocmsg + nn_recv + nn_recvmsg + nn_send + nn_sendmsg + nn_setsockopt + nn_shutdown + nn_socket + nn_strerror + nn_term + nng_compat + ) + + set(NNG_MAN3HTTP + nng_http_client_alloc + nng_http_client_connect + nng_http_client_free + nng_http_client_get_tls + nng_http_client_set_tls + nng_http_conn_close + nng_http_conn_read + nng_http_conn_read_all + nng_http_conn_read_req + nng_http_conn_read_res + nng_http_conn_write + nng_http_conn_write_all + nng_http_conn_write_req + nng_http_conn_write_res + nng_http_handler_alloc + nng_http_handler_free + nng_http_handler_get_data + nng_http_handler_set_data + nng_http_handler_set_host + nng_http_handler_set_method + nng_http_handler_set_tree + nng_http_hijack + nng_http_req_add_header + nng_http_req_alloc + nng_http_req_copy_data + nng_http_req_del_header + nng_http_req_free + nng_http_req_get_header + nng_http_req_get_method + nng_http_req_get_uri + nng_http_req_get_version + nng_http_req_set_data + nng_http_req_set_header + nng_http_req_set_method + nng_http_req_set_uri + nng_http_req_set_version + nng_http_res_add_header + nng_http_res_alloc + nng_http_res_alloc_error + nng_http_res_copy_data + nng_http_res_del_header + nng_http_res_free + nng_http_res_get_header + nng_http_res_get_reason + nng_http_res_get_status + nng_http_res_get_version + nng_http_res_set_data + nng_http_res_set_header + nng_http_res_set_reason + nng_http_res_set_status + nng_http_res_set_version + nng_http_server_add_handler + nng_http_server_del_handler + nng_http_server_get_tls + nng_http_server_hold + nng_http_server_release + nng_http_server_set_tls + nng_http_server_start + nng_http_server_stop + ) + + set(NNG_MAN3SUPP + nng_clock + nng_cv_alloc + nng_cv_free + nng_cv_until + nng_cv_wait + nng_cv_wake + nng_cv_wake1 + nng_msleep + nng_mtx_alloc + nng_mtx_free + nng_mtx_lock + nng_mtx_unlock + nng_opts_parse + nng_random + nng_thread_create + nng_thread_destroy + ) + + set(NNG_MAN3TLS + nng_tls_config_alloc + nng_tls_config_auth_mode + nng_tls_config_ca_chain + nng_tls_config_ca_file + nng_tls_config_cert_key_file + nng_tls_config_free + nng_tls_config_own_cert + nng_tls_config_server_name + ) + + set(NNG_MAN5 + nng_aio + nng_ctx + nng_dialer + nng_duration + nng_iov + nng_listener + nng_msg + nng_options + nng_pipe + nng_sockaddr + nng_sockaddr_in + nng_sockaddr_in6 + nng_sockaddr_inproc + nng_sockaddr_ipc + nng_sockaddr_zt + nng_socket + ) + + set(NNG_MAN7 + nng + nng_bus + nng_inproc + nng_ipc + nng_pair + nng_pub + nng_pull + nng_push + nng_rep + nng_req + nng_respondent + nng_sub + nng_surveyor + nng_tcp + nng_tls + nng_ws + nng_zerotier + ) + + foreach(F ${NNG_MAN1}) + nng_man(${F} 1) + endforeach() + + foreach(F ${NNG_MAN3}) + nng_man(${F} 3) + endforeach() + + foreach(F ${NNG_MAN3COMPAT}) + nng_man(${F} 3compat) + endforeach() + + foreach(F ${NNG_MAN3HTTP}) + nng_man(${F} 3http) + endforeach() + + foreach(F ${NNG_MAN3SUPP}) + nng_man(${F} 3supp) + endforeach() + + foreach(F ${NNG_MAN3TLS}) + nng_man(${F} 3tls) + endforeach() + + foreach(F ${NNG_MAN5}) + nng_man(${F} 5) + endforeach() + + foreach(F ${NNG_MAN7}) + nng_man(${F} 7) + endforeach() + + add_custom_target (man ALL DEPENDS ${NNG_MANS}) + add_custom_target (html ALL DEPENDS ${NNG_HTMLS}) +endif () |
