1*6236dae4SAndroid Build Coastguard Worker#*************************************************************************** 2*6236dae4SAndroid Build Coastguard Worker# _ _ ____ _ 3*6236dae4SAndroid Build Coastguard Worker# Project ___| | | | _ \| | 4*6236dae4SAndroid Build Coastguard Worker# / __| | | | |_) | | 5*6236dae4SAndroid Build Coastguard Worker# | (__| |_| | _ <| |___ 6*6236dae4SAndroid Build Coastguard Worker# \___|\___/|_| \_\_____| 7*6236dae4SAndroid Build Coastguard Worker# 8*6236dae4SAndroid Build Coastguard Worker# Copyright (C) Daniel Stenberg, <[email protected]>, et al. 9*6236dae4SAndroid Build Coastguard Worker# 10*6236dae4SAndroid Build Coastguard Worker# This software is licensed as described in the file COPYING, which 11*6236dae4SAndroid Build Coastguard Worker# you should have received as part of this distribution. The terms 12*6236dae4SAndroid Build Coastguard Worker# are also available at https://curl.se/docs/copyright.html. 13*6236dae4SAndroid Build Coastguard Worker# 14*6236dae4SAndroid Build Coastguard Worker# You may opt to use, copy, modify, merge, publish, distribute and/or sell 15*6236dae4SAndroid Build Coastguard Worker# copies of the Software, and permit persons to whom the Software is 16*6236dae4SAndroid Build Coastguard Worker# furnished to do so, under the terms of the COPYING file. 17*6236dae4SAndroid Build Coastguard Worker# 18*6236dae4SAndroid Build Coastguard Worker# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 19*6236dae4SAndroid Build Coastguard Worker# KIND, either express or implied. 20*6236dae4SAndroid Build Coastguard Worker# 21*6236dae4SAndroid Build Coastguard Worker# SPDX-License-Identifier: curl 22*6236dae4SAndroid Build Coastguard Worker# 23*6236dae4SAndroid Build Coastguard Worker########################################################################### 24*6236dae4SAndroid Build Coastguard Worker# Get 'man_MANS' variable 25*6236dae4SAndroid Build Coastguard Workertransform_makefile_inc("Makefile.inc" "${CMAKE_CURRENT_BINARY_DIR}/Makefile.inc.cmake") 26*6236dae4SAndroid Build Coastguard Workerinclude("${CMAKE_CURRENT_BINARY_DIR}/Makefile.inc.cmake") 27*6236dae4SAndroid Build Coastguard Worker 28*6236dae4SAndroid Build Coastguard Workerfunction(add_manual_pages _listname) 29*6236dae4SAndroid Build Coastguard Worker # Maximum number of files per command to stay within shell/OS limits 30*6236dae4SAndroid Build Coastguard Worker if(CMAKE_HOST_UNIX) 31*6236dae4SAndroid Build Coastguard Worker set(_files_per_batch 10000) 32*6236dae4SAndroid Build Coastguard Worker else() # e.g. Windows with cmd.exe and other obsolete/unidentified shells 33*6236dae4SAndroid Build Coastguard Worker set(_files_per_batch 200) 34*6236dae4SAndroid Build Coastguard Worker endif() 35*6236dae4SAndroid Build Coastguard Worker set(_file_count 0) 36*6236dae4SAndroid Build Coastguard Worker unset(_rofffiles) 37*6236dae4SAndroid Build Coastguard Worker unset(_mdfiles) 38*6236dae4SAndroid Build Coastguard Worker set(_eol "_EOL_") 39*6236dae4SAndroid Build Coastguard Worker foreach(_file IN LISTS ${_listname} _eol) 40*6236dae4SAndroid Build Coastguard Worker math(EXPR _file_count "${_file_count} + 1") 41*6236dae4SAndroid Build Coastguard Worker if(_file_count GREATER_EQUAL _files_per_batch OR _file STREQUAL "_EOL_") 42*6236dae4SAndroid Build Coastguard Worker add_custom_command(OUTPUT ${_rofffiles} 43*6236dae4SAndroid Build Coastguard Worker WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} 44*6236dae4SAndroid Build Coastguard Worker COMMAND "${PERL_EXECUTABLE}" "${PROJECT_SOURCE_DIR}/scripts/cd2nroff" -k -d "${CMAKE_CURRENT_BINARY_DIR}" ${_mdfiles} 45*6236dae4SAndroid Build Coastguard Worker DEPENDS ${_mdfiles} 46*6236dae4SAndroid Build Coastguard Worker VERBATIM 47*6236dae4SAndroid Build Coastguard Worker ) 48*6236dae4SAndroid Build Coastguard Worker set(_file_count 0) 49*6236dae4SAndroid Build Coastguard Worker unset(_rofffiles) 50*6236dae4SAndroid Build Coastguard Worker unset(_mdfiles) 51*6236dae4SAndroid Build Coastguard Worker endif() 52*6236dae4SAndroid Build Coastguard Worker 53*6236dae4SAndroid Build Coastguard Worker list(APPEND _rofffiles "${CMAKE_CURRENT_BINARY_DIR}/${_file}") 54*6236dae4SAndroid Build Coastguard Worker if(_file STREQUAL "libcurl-symbols.3") 55*6236dae4SAndroid Build Coastguard Worker # Special case, an auto-generated file. 56*6236dae4SAndroid Build Coastguard Worker string(REPLACE ".3" ".md" _mdfile "${CMAKE_CURRENT_BINARY_DIR}/${_file}") 57*6236dae4SAndroid Build Coastguard Worker else() 58*6236dae4SAndroid Build Coastguard Worker string(REPLACE ".3" ".md" _mdfile "${_file}") 59*6236dae4SAndroid Build Coastguard Worker endif() 60*6236dae4SAndroid Build Coastguard Worker list(APPEND _mdfiles "${_mdfile}") 61*6236dae4SAndroid Build Coastguard Worker endforeach() 62*6236dae4SAndroid Build Coastguard Workerendfunction() 63*6236dae4SAndroid Build Coastguard Worker 64*6236dae4SAndroid Build Coastguard Workeradd_custom_command(OUTPUT "libcurl-symbols.md" 65*6236dae4SAndroid Build Coastguard Worker COMMAND 66*6236dae4SAndroid Build Coastguard Worker "${PERL_EXECUTABLE}" 67*6236dae4SAndroid Build Coastguard Worker "${CMAKE_CURRENT_SOURCE_DIR}/mksymbolsmanpage.pl" < 68*6236dae4SAndroid Build Coastguard Worker "${CMAKE_CURRENT_SOURCE_DIR}/symbols-in-versions" > "libcurl-symbols.md" 69*6236dae4SAndroid Build Coastguard Worker DEPENDS 70*6236dae4SAndroid Build Coastguard Worker "${CMAKE_CURRENT_SOURCE_DIR}/symbols-in-versions" 71*6236dae4SAndroid Build Coastguard Worker "${CMAKE_CURRENT_SOURCE_DIR}/mksymbolsmanpage.pl" 72*6236dae4SAndroid Build Coastguard Worker VERBATIM 73*6236dae4SAndroid Build Coastguard Worker) 74*6236dae4SAndroid Build Coastguard Worker 75*6236dae4SAndroid Build Coastguard Workeradd_manual_pages(man_MANS) 76*6236dae4SAndroid Build Coastguard Workeradd_custom_target(curl-man ALL DEPENDS ${man_MANS}) 77*6236dae4SAndroid Build Coastguard Workerif(NOT CURL_DISABLE_INSTALL) 78*6236dae4SAndroid Build Coastguard Worker unset(_src) 79*6236dae4SAndroid Build Coastguard Worker foreach(_f IN LISTS man_MANS) 80*6236dae4SAndroid Build Coastguard Worker list(APPEND _src "${CMAKE_CURRENT_BINARY_DIR}/${_f}") 81*6236dae4SAndroid Build Coastguard Worker endforeach() 82*6236dae4SAndroid Build Coastguard Worker install(FILES ${_src} DESTINATION "${CMAKE_INSTALL_MANDIR}/man3") 83*6236dae4SAndroid Build Coastguard Workerendif() 84*6236dae4SAndroid Build Coastguard Worker 85*6236dae4SAndroid Build Coastguard Workeradd_subdirectory(opts) 86