mirror of
https://github.com/moparisthebest/curl
synced 2024-12-21 23:58:49 -05:00
cmake: build manual pages (including curl.1)
Also make Perl mandatory to allow building the docs. While CMakeLists.txt could probably read the list of manual pages from Makefile.am, actually putting those in CMakeLists.txt is cleaner so that is what is done here. Fixes #1230 Ref: https://github.com/curl/curl/pull/1288
This commit is contained in:
parent
6f6e9193df
commit
84a226a30b
@ -224,6 +224,8 @@ if(ENABLE_MANUAL)
|
||||
message(WARNING "Found no *nroff program")
|
||||
endif()
|
||||
endif()
|
||||
# Required for building manual, docs, tests
|
||||
find_package(Perl REQUIRED)
|
||||
|
||||
# We need ansi c-flags, especially on HP
|
||||
set(CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS}")
|
||||
@ -1082,6 +1084,7 @@ function(TRANSFORM_MAKEFILE_INC INPUT_FILE OUTPUT_FILE)
|
||||
|
||||
endfunction()
|
||||
|
||||
add_subdirectory(docs)
|
||||
add_subdirectory(lib)
|
||||
if(BUILD_CURL_EXE)
|
||||
add_subdirectory(src)
|
||||
|
3
docs/CMakeLists.txt
Normal file
3
docs/CMakeLists.txt
Normal file
@ -0,0 +1,3 @@
|
||||
#add_subdirectory(examples)
|
||||
#add_subdirectory(libcurl)
|
||||
add_subdirectory(cmdline-opts)
|
12
docs/cmdline-opts/CMakeLists.txt
Normal file
12
docs/cmdline-opts/CMakeLists.txt
Normal file
@ -0,0 +1,12 @@
|
||||
set(MANPAGE "${CMAKE_BINARY_DIR}/docs/curl.1")
|
||||
|
||||
# Load DPAGES and OTHERPAGES from shared file
|
||||
transform_makefile_inc("Makefile.inc" "${CMAKE_CURRENT_BINARY_DIR}/Makefile.inc.cmake")
|
||||
include("${CMAKE_CURRENT_BINARY_DIR}/Makefile.inc.cmake")
|
||||
|
||||
add_custom_command(OUTPUT "${MANPAGE}"
|
||||
COMMAND "${PERL_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/gen.pl" mainpage "${CMAKE_CURRENT_SOURCE_DIR}" > "${MANPAGE}"
|
||||
DEPENDS "${DPAGES}" "${OTHERPAGES}"
|
||||
VERBATIM
|
||||
)
|
||||
add_custom_target(generate-curl.1 DEPENDS "${MANPAGE}")
|
@ -1,7 +1,6 @@
|
||||
set(EXE_NAME curl)
|
||||
|
||||
if(USE_MANUAL)
|
||||
find_package(Perl REQUIRED)
|
||||
# Use the C locale to ensure that only ASCII characters appear in the
|
||||
# embedded text. NROFF and MANOPT are set in the parent CMakeLists.txt
|
||||
add_custom_command(
|
||||
@ -9,18 +8,19 @@ if(USE_MANUAL)
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "#include \"tool_setup.h\"" > tool_hugehelp.c
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "#ifndef HAVE_LIBZ" >> tool_hugehelp.c
|
||||
COMMAND env LC_ALL=C "${NROFF}" ${NROFF_MANOPT}
|
||||
"${CURL_SOURCE_DIR}/docs/curl.1" |
|
||||
"${PERL}" "${CMAKE_CURRENT_SOURCE_DIR}/mkhelp.pl"
|
||||
"${CURL_BINARY_DIR}/docs/curl.1" |
|
||||
"${PERL_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/mkhelp.pl"
|
||||
"${CURL_SOURCE_DIR}/docs/MANUAL" >> tool_hugehelp.c
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "#else" >> tool_hugehelp.c
|
||||
COMMAND env LC_ALL=C "${NROFF}" ${NROFF_MANOPT}
|
||||
"${CURL_SOURCE_DIR}/docs/curl.1" |
|
||||
"${PERL}" "${CMAKE_CURRENT_SOURCE_DIR}/mkhelp.pl" -c
|
||||
"${CURL_BINARY_DIR}/docs/curl.1" |
|
||||
"${PERL_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/mkhelp.pl" -c
|
||||
"${CURL_SOURCE_DIR}/docs/MANUAL" >> tool_hugehelp.c
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "#endif /* HAVE_LIBZ */" >> tool_hugehelp.c
|
||||
DEPENDS
|
||||
"${CURL_SOURCE_DIR}/docs/MANUAL"
|
||||
"${CURL_SOURCE_DIR}/docs/curl.1"
|
||||
generate-curl.1
|
||||
"${CURL_BINARY_DIR}/docs/curl.1"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/mkhelp.pl"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/tool_hugehelp.h"
|
||||
VERBATIM)
|
||||
|
Loading…
Reference in New Issue
Block a user