find_package(Perl)
+option(BUILD_DOCS "to build manual pages" ON)
option(ENABLE_MANUAL "to provide the built-in manual" OFF)
if(ENABLE_MANUAL AND PERL_FOUND)
include("${CMAKE_CURRENT_BINARY_DIR}/Makefile.inc.cmake")
function(add_manual_pages _listname)
+ unset(_rofffiles)
+ unset(_mdfiles)
foreach(_file IN LISTS ${_listname})
- set(_rofffile "${CMAKE_CURRENT_BINARY_DIR}/${_file}")
+ list(APPEND _rofffiles "${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}")
+ string(REPLACE ".3" ".md" _mdfile "${_file}")
endif()
-
- add_custom_command(OUTPUT "${_rofffile}"
- COMMAND ${PROJECT_SOURCE_DIR}/scripts/cd2nroff ${_mdfile} > ${_rofffile}
- DEPENDS "${_mdfile}"
- VERBATIM
- )
+ list(APPEND _mdfiles "${_mdfile}")
endforeach()
+
+ add_custom_command(OUTPUT ${_rofffiles}
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+ COMMAND ${PROJECT_SOURCE_DIR}/scripts/cd2nroff -k -d "${CMAKE_CURRENT_BINARY_DIR}" ${_mdfiles}
+ DEPENDS ${_mdfiles}
+ VERBATIM
+ )
+
endfunction()
add_custom_command(OUTPUT libcurl-symbols.md
my $cd2nroff = "0.1"; # to keep check
my $dir;
my $extension;
+my $keepfilename;
while(1) {
if($ARGV[0] eq "-d") {
shift @ARGV;
$extension = shift @ARGV;
}
+ elsif($ARGV[0] eq "-k") {
+ shift @ARGV;
+ $keepfilename = 1;
+ }
elsif($ARGV[0] eq "-h") {
print <<HELP
Usage: cd2nroff [options] [file.md]
close($fh);
push @desc, outseealso(@seealso);
if($dir) {
+ if($keepfilename) {
+ $title = $f;
+ $title =~ s/\.[^.]*$//;
+ }
open(O, ">$dir/$title.$section$extension");
print O @desc;
close(O);
return $errors;
}
-exit single($ARGV[0]);
+$f = $ARGV[0];
+if(defined($f)) {
+ while($f) {
+ $r = single($f);
+ if($r) {
+ exit $r;
+ }
+ $f = shift @ARGV;
+ }
+}
+else {
+ exit single();
+}