1# Generated documents 2set(APIDOCS 3 macros.rst 4 enums.rst 5 types.rst 6 nghttp2_check_header_name.rst 7 nghttp2_check_header_value.rst 8 nghttp2_hd_deflate_bound.rst 9 nghttp2_hd_deflate_change_table_size.rst 10 nghttp2_hd_deflate_del.rst 11 nghttp2_hd_deflate_get_dynamic_table_size.rst 12 nghttp2_hd_deflate_get_max_dynamic_table_size.rst 13 nghttp2_hd_deflate_get_num_table_entries.rst 14 nghttp2_hd_deflate_get_table_entry.rst 15 nghttp2_hd_deflate_hd.rst 16 nghttp2_hd_deflate_hd_vec.rst 17 nghttp2_hd_deflate_new.rst 18 nghttp2_hd_deflate_new2.rst 19 nghttp2_hd_inflate_change_table_size.rst 20 nghttp2_hd_inflate_del.rst 21 nghttp2_hd_inflate_end_headers.rst 22 nghttp2_hd_inflate_get_dynamic_table_size.rst 23 nghttp2_hd_inflate_get_max_dynamic_table_size.rst 24 nghttp2_hd_inflate_get_num_table_entries.rst 25 nghttp2_hd_inflate_get_table_entry.rst 26 nghttp2_hd_inflate_hd.rst 27 nghttp2_hd_inflate_hd2.rst 28 nghttp2_hd_inflate_new.rst 29 nghttp2_hd_inflate_new2.rst 30 nghttp2_http2_strerror.rst 31 nghttp2_is_fatal.rst 32 nghttp2_nv_compare_name.rst 33 nghttp2_option_del.rst 34 nghttp2_option_new.rst 35 nghttp2_option_set_builtin_recv_extension_type.rst 36 nghttp2_option_set_max_deflate_dynamic_table_size.rst 37 nghttp2_option_set_max_reserved_remote_streams.rst 38 nghttp2_option_set_max_send_header_block_length.rst 39 nghttp2_option_set_no_auto_ping_ack.rst 40 nghttp2_option_set_no_auto_window_update.rst 41 nghttp2_option_set_no_http_messaging.rst 42 nghttp2_option_set_no_recv_client_magic.rst 43 nghttp2_option_set_peer_max_concurrent_streams.rst 44 nghttp2_option_set_user_recv_extension_type.rst 45 nghttp2_option_set_max_settings.rst 46 nghttp2_pack_settings_payload.rst 47 nghttp2_priority_spec_check_default.rst 48 nghttp2_priority_spec_default_init.rst 49 nghttp2_priority_spec_init.rst 50 nghttp2_rcbuf_decref.rst 51 nghttp2_rcbuf_get_buf.rst 52 nghttp2_rcbuf_incref.rst 53 nghttp2_rcbuf_is_static.rst 54 nghttp2_select_next_protocol.rst 55 nghttp2_session_callbacks_del.rst 56 nghttp2_session_callbacks_new.rst 57 nghttp2_session_callbacks_set_before_frame_send_callback.rst 58 nghttp2_session_callbacks_set_data_source_read_length_callback.rst 59 nghttp2_session_callbacks_set_error_callback.rst 60 nghttp2_session_callbacks_set_on_begin_frame_callback.rst 61 nghttp2_session_callbacks_set_on_begin_headers_callback.rst 62 nghttp2_session_callbacks_set_on_data_chunk_recv_callback.rst 63 nghttp2_session_callbacks_set_on_extension_chunk_recv_callback.rst 64 nghttp2_session_callbacks_set_on_frame_not_send_callback.rst 65 nghttp2_session_callbacks_set_on_frame_recv_callback.rst 66 nghttp2_session_callbacks_set_on_frame_send_callback.rst 67 nghttp2_session_callbacks_set_on_header_callback.rst 68 nghttp2_session_callbacks_set_on_header_callback2.rst 69 nghttp2_session_callbacks_set_on_invalid_frame_recv_callback.rst 70 nghttp2_session_callbacks_set_on_invalid_header_callback.rst 71 nghttp2_session_callbacks_set_on_invalid_header_callback2.rst 72 nghttp2_session_callbacks_set_on_stream_close_callback.rst 73 nghttp2_session_callbacks_set_pack_extension_callback.rst 74 nghttp2_session_callbacks_set_recv_callback.rst 75 nghttp2_session_callbacks_set_select_padding_callback.rst 76 nghttp2_session_callbacks_set_send_callback.rst 77 nghttp2_session_callbacks_set_send_data_callback.rst 78 nghttp2_session_callbacks_set_unpack_extension_callback.rst 79 nghttp2_session_change_stream_priority.rst 80 nghttp2_session_check_request_allowed.rst 81 nghttp2_session_check_server_session.rst 82 nghttp2_session_client_new.rst 83 nghttp2_session_client_new2.rst 84 nghttp2_session_client_new3.rst 85 nghttp2_session_consume.rst 86 nghttp2_session_consume_connection.rst 87 nghttp2_session_consume_stream.rst 88 nghttp2_session_create_idle_stream.rst 89 nghttp2_session_del.rst 90 nghttp2_session_find_stream.rst 91 nghttp2_session_get_effective_local_window_size.rst 92 nghttp2_session_get_effective_recv_data_length.rst 93 nghttp2_session_get_hd_deflate_dynamic_table_size.rst 94 nghttp2_session_get_hd_inflate_dynamic_table_size.rst 95 nghttp2_session_get_last_proc_stream_id.rst 96 nghttp2_session_get_local_settings.rst 97 nghttp2_session_get_local_window_size.rst 98 nghttp2_session_get_next_stream_id.rst 99 nghttp2_session_get_outbound_queue_size.rst 100 nghttp2_session_get_remote_settings.rst 101 nghttp2_session_get_remote_window_size.rst 102 nghttp2_session_get_root_stream.rst 103 nghttp2_session_get_stream_effective_local_window_size.rst 104 nghttp2_session_get_stream_effective_recv_data_length.rst 105 nghttp2_session_get_stream_local_close.rst 106 nghttp2_session_get_stream_local_window_size.rst 107 nghttp2_session_get_stream_remote_close.rst 108 nghttp2_session_get_stream_remote_window_size.rst 109 nghttp2_session_get_stream_user_data.rst 110 nghttp2_session_mem_recv.rst 111 nghttp2_session_mem_send.rst 112 nghttp2_session_recv.rst 113 nghttp2_session_resume_data.rst 114 nghttp2_session_send.rst 115 nghttp2_session_server_new.rst 116 nghttp2_session_server_new2.rst 117 nghttp2_session_server_new3.rst 118 nghttp2_session_set_local_window_size.rst 119 nghttp2_session_set_next_stream_id.rst 120 nghttp2_session_set_stream_user_data.rst 121 nghttp2_session_terminate_session.rst 122 nghttp2_session_terminate_session2.rst 123 nghttp2_session_upgrade.rst 124 nghttp2_session_upgrade2.rst 125 nghttp2_session_want_read.rst 126 nghttp2_session_want_write.rst 127 nghttp2_set_debug_vprintf_callback.rst 128 nghttp2_stream_get_first_child.rst 129 nghttp2_stream_get_next_sibling.rst 130 nghttp2_stream_get_parent.rst 131 nghttp2_stream_get_previous_sibling.rst 132 nghttp2_stream_get_state.rst 133 nghttp2_stream_get_sum_dependency_weight.rst 134 nghttp2_stream_get_weight.rst 135 nghttp2_strerror.rst 136 nghttp2_submit_altsvc.rst 137 nghttp2_submit_data.rst 138 nghttp2_submit_extension.rst 139 nghttp2_submit_goaway.rst 140 nghttp2_submit_headers.rst 141 nghttp2_submit_ping.rst 142 nghttp2_submit_priority.rst 143 nghttp2_submit_push_promise.rst 144 nghttp2_submit_request.rst 145 nghttp2_submit_response.rst 146 nghttp2_submit_rst_stream.rst 147 nghttp2_submit_settings.rst 148 nghttp2_submit_shutdown_notice.rst 149 nghttp2_submit_trailer.rst 150 nghttp2_submit_window_update.rst 151 nghttp2_version.rst 152) 153 154set(MAN_PAGES 155 nghttp.1 156 nghttpd.1 157 nghttpx.1 158 h2load.1 159) 160 161# Other .rst files from the source tree that need to be copied 162# XXX move them to sources/ and create .in files? 163set(RST_FILES 164 README.rst 165 programmers-guide.rst 166 nghttp.1.rst 167 nghttpd.1.rst 168 nghttpx.1.rst 169 h2load.1.rst 170) 171 172# XXX unused for now 173set(EXTRA_DIST 174 mkapiref.py 175 ${RST_FILES} 176 ${APIDOCS} 177 sources/index.rst 178 sources/tutorial-client.rst 179 sources/tutorial-server.rst 180 sources/tutorial-hpack.rst 181 sources/nghttpx-howto.rst 182 sources/h2load-howto.rst 183 sources/libnghttp2_asio.rst 184 sources/python-apiref.rst 185 sources/building-android-binary.rst 186 sources/contribute.rst 187 _exts/sphinxcontrib/LICENSE.rubydomain 188 _exts/sphinxcontrib/__init__.py 189 _exts/sphinxcontrib/rubydomain.py 190 _themes/sphinx_rtd_theme/__init__.py 191 _themes/sphinx_rtd_theme/breadcrumbs.html 192 _themes/sphinx_rtd_theme/footer.html 193 _themes/sphinx_rtd_theme/layout.html 194 _themes/sphinx_rtd_theme/layout_old.html 195 _themes/sphinx_rtd_theme/search.html 196 _themes/sphinx_rtd_theme/searchbox.html 197 _themes/sphinx_rtd_theme/static/css/badge_only.css 198 _themes/sphinx_rtd_theme/static/css/theme.css 199 _themes/sphinx_rtd_theme/static/fonts/FontAwesome.otf 200 _themes/sphinx_rtd_theme/static/fonts/fontawesome-webfont.eot 201 _themes/sphinx_rtd_theme/static/fonts/fontawesome-webfont.svg 202 _themes/sphinx_rtd_theme/static/fonts/fontawesome-webfont.ttf 203 _themes/sphinx_rtd_theme/static/fonts/fontawesome-webfont.woff 204 _themes/sphinx_rtd_theme/static/js/theme.js 205 _themes/sphinx_rtd_theme/theme.conf 206 _themes/sphinx_rtd_theme/versions.html 207 ${MAN_PAGES} 208 bash_completion/nghttp 209 bash_completion/nghttpd 210 bash_completion/nghttpx 211 bash_completion/h2load 212) 213 214# Based on Makefile for Sphinx documentation 215 216# You can set these variables from the command line. 217set(SPHINXOPTS) 218set(SPHINXBUILD sphinx-build) 219set(PAPER) 220set(BUILDDIR manual) 221 222# Internal variables. 223set(PAPEROPT_a4 -D latex_paper_size=a4) 224set(PAPEROPT_letter -D latex_paper_size=letter) 225set(ALLSPHINXOPTS -d ${BUILDDIR}/doctrees ${PAPEROPT_${PAPER}} ${SPHINXOPTS} .) 226 227# "Please use `make <target>' where <target> is one of" 228# " html to make standalone HTML files" 229# " dirhtml to make HTML files named index.html in directories" 230# " singlehtml to make a single large HTML file" 231# " pickle to make pickle files" 232# " json to make JSON files" 233# " htmlhelp to make HTML files and a HTML help project" 234# " qthelp to make HTML files and a qthelp project" 235# " devhelp to make HTML files and a Devhelp project" 236# " epub to make an epub" 237# " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" 238# " latexpdf to make LaTeX files and run them through pdflatex" 239# " text to make text files" 240# " man to make manual pages" 241# " changes to make an overview of all changed/added/deprecated items" 242# " linkcheck to check all external links for integrity" 243# " doctest to run all doctests embedded in the documentation (if enabled)" 244 245 246# Copy files for out-of-tree builds 247if(NOT CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR) 248 set(RST_BUILD_FILES) 249 foreach(rstfile IN LISTS RST_FILES) 250 set(outfile "${CMAKE_CURRENT_BINARY_DIR}/${rstfile}") 251 add_custom_command(OUTPUT "${outfile}" 252 COMMAND ${CMAKE_COMMAND} -E copy 253 "${CMAKE_CURRENT_SOURCE_DIR}/${rstfile}" "${outfile}" 254 DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/${rstfile}" 255 ) 256 list(APPEND RST_BUILD_FILES "${outfile}") 257 endforeach() 258else() 259 set(RST_BUILD_FILES "${RST_FILES}") 260endif() 261 262set(apiref_SOURCES 263 ${CMAKE_BINARY_DIR}/lib/includes/nghttp2/nghttp2ver.h 264 ${CMAKE_SOURCE_DIR}/lib/includes/nghttp2/nghttp2.h 265) 266# Generates apiref.rst and other files 267add_custom_command( 268 OUTPUT 269 apiref.rst 270 ${APIDOCS} 271 COMMAND 272 "${PYTHON_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/mkapiref.py" 273 apiref.rst macros.rst enums.rst types.rst . 274 ${apiref_SOURCES} 275 DEPENDS 276 ${RST_BUILD_FILES} 277 ${apiref_SOURCES} 278) 279 280 281 282set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${BUILDDIR}") 283 284# Invokes sphinx-build and prints the given messages when completed 285function(sphinxbuild builder) 286 set(echo_commands) 287 foreach(message IN LISTS ARGN) 288 list(APPEND echo_commands COMMAND ${CMAKE_COMMAND} -E echo "${message}") 289 endforeach() 290 add_custom_target(${builder} 291 COMMAND "${SPHINXBUILD}" -b ${builder} ${ALLSPHINXOPTS} "${BUILDDIR}/${builder}" 292 COMMAND ${CMAKE_COMMAND} -E echo 293 ${echo_commands} 294 VERBATIM 295 DEPENDS apiref.rst 296 ) 297endfunction() 298 299foreach(builder html dirhtml singlehtml) 300 sphinxbuild(${builder} 301 "Build finished. The HTML pages are in ${BUILDDIR}/${builder}.") 302endforeach() 303sphinxbuild(pickle "Build finished; now you can process the pickle files.") 304sphinxbuild(json "Build finished; now you can process the JSON files.") 305sphinxbuild(htmlhelp 306 "Build finished; now you can run HTML Help Workshop with the" 307 ".hhp project file in ${BUILDDIR}/htmlhelp." 308) 309sphinxbuild(qthelp 310 "Build finished; now you can run \"qcollectiongenerator\" with the" 311 ".qhcp project file in ${BUILDDIR}/qthelp, like this:" 312 "# qcollectiongenerator ${BUILDDIR}/qthelp/nghttp2.qhcp" 313 "To view the help file:" 314 "# assistant -collectionFile ${BUILDDIR}/qthelp/nghttp2.qhc" 315) 316sphinxbuild(devhelp 317 "Build finished." 318 "To view the help file:" 319 "# mkdir -p ~/.local/share/devhelp/nghttp2" 320 "# ln -s ${BUILDDIR}/devhelp ~/.local/share/devhelp/nghttp2" 321 "# devhelp" 322) 323sphinxbuild(epub "Build finished. The epub file is in ${BUILDDIR}/epub.") 324sphinxbuild(latex 325 "Build finished; the LaTeX files are in ${BUILDDIR}/latex." 326 "Run `make' in that directory to run these through (pdf)latex" 327 "(use `make latexpdf' here to do that automatically)." 328) 329 330# Invoke the Makefile generated by sphinx 331add_custom_target(latexpdf 332 COMMAND ${CMAKE_COMMAND} -E echo "Running LaTeX files through pdflatex..." 333 COMMAND make -C "${BUILDDIR}/latex" all-pdf 334 COMMAND ${CMAKE_COMMAND} -E echo "pdflatex finished; the PDF files are in ${BUILDDIR}/latex." 335 DEPENDS latex 336) 337 338sphinxbuild(text "Build finished. The text files are in ${BUILDDIR}/text.") 339sphinxbuild(man "Build finished. The manual pages are in ${BUILDDIR}/man.") 340sphinxbuild(changes "The overview file is in ${BUILDDIR}/changes.") 341sphinxbuild(linkcheck 342 "Link check complete; look for any errors in the above output" 343 "or in ${BUILDDIR}/linkcheck/output.txt." 344) 345sphinxbuild(doctest 346 "Testing of doctests in the sources finished, look at the" 347 "results in ${BUILDDIR}/doctest/output.txt." 348) 349 350foreach(_man_page IN LISTS MAN_PAGES) 351 install(FILES ${_man_page} 352 DESTINATION "${CMAKE_INSTALL_MANDIR}/man1" 353 ) 354endforeach() 355