|
| 1 | +if(NOT CMAKE_SKIP_INSTALL_RULES) |
| 2 | + find_program(PROG_GZIP gzip) |
| 3 | + if(NOT PROG_GZIP) |
| 4 | + message(FATAL_ERROR "Missing gzip. Set CMAKE_SKIP_INSTALL_RULES to skip man pages.") |
| 5 | + endif() |
| 6 | + |
| 7 | + find_program(PROG_POD2MAN pod2man) |
| 8 | + if(NOT PROG_POD2MAN) |
| 9 | + message(FATAL_ERROR "Missing pod2man. Set CMAKE_SKIP_INSTALL_RULES to skip man pages.") |
| 10 | + endif() |
| 11 | + |
| 12 | + macro(unibi_pod2man basename) |
| 13 | + set(OUT_MAN_FILE "${CMAKE_CURRENT_BINARY_DIR}/${basename}.3") |
| 14 | + set(OUT_GZ_FILE "${CMAKE_CURRENT_BINARY_DIR}/${basename}.3.gz") |
| 15 | + add_custom_command( |
| 16 | + OUTPUT "${OUT_MAN_FILE}" |
| 17 | + DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/${basename}.pod" |
| 18 | + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} |
| 19 | + COMMAND pod2man --center "${PROJECT_NAME}" --section 3 --release "${PROJECT_NAME}-${PROJECT_VERSION}" "${basename}.pod" "${OUT_MAN_FILE}") |
| 20 | + add_custom_command( |
| 21 | + OUTPUT "${OUT_GZ_FILE}" |
| 22 | + DEPENDS "${OUT_MAN_FILE}" |
| 23 | + COMMAND gzip --stdout "${OUT_MAN_FILE}" > "${OUT_GZ_FILE}") |
| 24 | + add_custom_target(man_page_${basename} |
| 25 | + DEPENDS "${OUT_GZ_FILE}") |
| 26 | + add_dependencies(man_pages man_page_${basename}) |
| 27 | + install(FILES "${OUT_GZ_FILE}" |
| 28 | + DESTINATION "${CMAKE_INSTALL_MANDIR}/man3/") |
| 29 | + endmacro() |
| 30 | + |
| 31 | + add_custom_target(man_pages ALL) |
| 32 | + |
| 33 | + unibi_pod2man(unibi_add_ext_bool) |
| 34 | + unibi_pod2man(unibi_add_ext_num) |
| 35 | + unibi_pod2man(unibi_add_ext_str) |
| 36 | + unibi_pod2man(unibi_count_ext_bool) |
| 37 | + unibi_pod2man(unibi_count_ext_num) |
| 38 | + unibi_pod2man(unibi_count_ext_str) |
| 39 | + unibi_pod2man(unibi_del_ext_bool) |
| 40 | + unibi_pod2man(unibi_destroy) |
| 41 | + unibi_pod2man(unibi_dummy) |
| 42 | + unibi_pod2man(unibi_dump) |
| 43 | + unibi_pod2man(unibi_format) |
| 44 | + unibi_pod2man(unibi_from_env) |
| 45 | + unibi_pod2man(unibi_from_fd) |
| 46 | + unibi_pod2man(unibi_from_file) |
| 47 | + unibi_pod2man(unibi_from_fp) |
| 48 | + unibi_pod2man(unibi_from_mem) |
| 49 | + unibi_pod2man(unibi_from_term) |
| 50 | + unibi_pod2man(unibi_get_aliases) |
| 51 | + unibi_pod2man(unibi_get_bool) |
| 52 | + unibi_pod2man(unibi_get_ext_bool_name) |
| 53 | + unibi_pod2man(unibi_get_ext_bool) |
| 54 | + unibi_pod2man(unibi_get_ext_num_name) |
| 55 | + unibi_pod2man(unibi_get_ext_num) |
| 56 | + unibi_pod2man(unibi_get_ext_str_name) |
| 57 | + unibi_pod2man(unibi_get_ext_str) |
| 58 | + unibi_pod2man(unibi_get_name) |
| 59 | + unibi_pod2man(unibi_get_num) |
| 60 | + unibi_pod2man(unibi_get_str) |
| 61 | + unibi_pod2man(unibi_int_from_var) |
| 62 | + unibi_pod2man(unibilium.h) |
| 63 | + unibi_pod2man(unibi_name_bool) |
| 64 | + unibi_pod2man(unibi_name_num) |
| 65 | + unibi_pod2man(unibi_name_str) |
| 66 | + unibi_pod2man(unibi_num_from_var) |
| 67 | + unibi_pod2man(unibi_run) |
| 68 | + unibi_pod2man(unibi_set_aliases) |
| 69 | + unibi_pod2man(unibi_set_bool) |
| 70 | + unibi_pod2man(unibi_set_ext_bool_name) |
| 71 | + unibi_pod2man(unibi_set_ext_bool) |
| 72 | + unibi_pod2man(unibi_set_ext_num_name) |
| 73 | + unibi_pod2man(unibi_set_ext_num) |
| 74 | + unibi_pod2man(unibi_set_ext_str_name) |
| 75 | + unibi_pod2man(unibi_set_ext_str) |
| 76 | + unibi_pod2man(unibi_set_name) |
| 77 | + unibi_pod2man(unibi_set_num) |
| 78 | + unibi_pod2man(unibi_set_str) |
| 79 | + unibi_pod2man(unibi_short_name_bool) |
| 80 | + unibi_pod2man(unibi_short_name_num) |
| 81 | + unibi_pod2man(unibi_short_name_str) |
| 82 | + unibi_pod2man(unibi_str_from_var) |
| 83 | + unibi_pod2man(unibi_terminfo_dirs) |
| 84 | + unibi_pod2man(unibi_var_from_num) |
| 85 | + unibi_pod2man(unibi_var_from_str) |
| 86 | +endif() |
0 commit comments