mirror of
https://github.com/curl/curl.git
synced 2024-12-09 06:30:06 +08:00
f03c85635f
Create ASCII version of manpage without nroff
- build src/tool_hugegelp.c from the ascii manpage
- move the the manpage and the ascii version build to docs/cmdline-opts
- remove all use of nroff from the build process
- should make the build entirely reproducible (by avoiding nroff)
- partly reverts 2620aa9
to build libcurl option man pages one by one
in cmake because the appveyor builds got all crazy until I did
The ASCII version of the manpage
- is built with gen.pl, just like the manpage is
- has a right-justified column making the appearance similar to the previous
version
- uses a 4-space indent per level (instead of the old version's 7)
- does not do hyphenation of words (which nroff does)
History
We first made the curl build use nroff for building the hugehelp file in
December 1998, for curl 5.2.
Closes #13047
68 lines
2.4 KiB
CMake
68 lines
2.4 KiB
CMake
#***************************************************************************
|
|
# _ _ ____ _
|
|
# Project ___| | | | _ \| |
|
|
# / __| | | | |_) | |
|
|
# | (__| |_| | _ <| |___
|
|
# \___|\___/|_| \_\_____|
|
|
#
|
|
# Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
|
|
#
|
|
# This software is licensed as described in the file COPYING, which
|
|
# you should have received as part of this distribution. The terms
|
|
# are also available at https://curl.se/docs/copyright.html.
|
|
#
|
|
# You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
|
# copies of the Software, and permit persons to whom the Software is
|
|
# furnished to do so, under the terms of the COPYING file.
|
|
#
|
|
# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
|
# KIND, either express or implied.
|
|
#
|
|
# SPDX-License-Identifier: curl
|
|
#
|
|
###########################################################################
|
|
# Load man_MANS from shared file
|
|
transform_makefile_inc("Makefile.inc" "${CMAKE_CURRENT_BINARY_DIR}/Makefile.inc.cmake")
|
|
include("${CMAKE_CURRENT_BINARY_DIR}/Makefile.inc.cmake")
|
|
|
|
function(add_manual_pages _listname)
|
|
foreach(_file IN LISTS ${_listname})
|
|
set(_rofffile "${CMAKE_CURRENT_BINARY_DIR}/${_file}")
|
|
if(_file STREQUAL "libcurl-symbols.3")
|
|
# Special case, an auto-generated file.
|
|
string(REPLACE ".3" ".md" _mdfile "${CMAKE_CURRENT_BINARY_DIR}/${_file}")
|
|
else()
|
|
string(REPLACE ".3" ".md" _mdfile "${CMAKE_CURRENT_SOURCE_DIR}/${_file}")
|
|
endif()
|
|
add_custom_command(OUTPUT "${_rofffile}"
|
|
COMMAND "${PERL_EXECUTABLE}" ${PROJECT_SOURCE_DIR}/scripts/cd2nroff ${_mdfile} > ${_rofffile}
|
|
DEPENDS "${_mdfile}"
|
|
VERBATIM
|
|
)
|
|
endforeach()
|
|
|
|
endfunction()
|
|
|
|
add_custom_command(OUTPUT libcurl-symbols.md
|
|
COMMAND
|
|
"${PERL_EXECUTABLE}"
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/mksymbolsmanpage.pl" <
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/symbols-in-versions" > libcurl-symbols.md
|
|
DEPENDS
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/symbols-in-versions"
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/mksymbolsmanpage.pl"
|
|
VERBATIM
|
|
)
|
|
|
|
add_manual_pages(man_MANS)
|
|
add_custom_target(man ALL DEPENDS ${man_MANS})
|
|
if(NOT CURL_DISABLE_INSTALL)
|
|
unset(_src)
|
|
foreach(_f ${man_MANS})
|
|
list(APPEND _src "${CMAKE_CURRENT_BINARY_DIR}/${_f}")
|
|
endforeach()
|
|
install(FILES ${_src} DESTINATION ${CMAKE_INSTALL_MANDIR}/man3)
|
|
endif()
|
|
|
|
add_subdirectory(opts)
|