add doxygen to the build system

configure tests for it, make runs it, make install copies the generated
html
This commit is contained in:
John Cupitt 2020-08-17 17:54:42 +01:00
parent c7bab32109
commit 6cabb3e301
4 changed files with 32 additions and 6 deletions

View File

@ -239,6 +239,12 @@ AC_PROG_INSTALL
AC_PROG_LN_S
AM_WITH_DMALLOC
AC_CHECK_PROGS([DOXYGEN], [doxygen])
if test -z "$DOXYGEN"; then
AC_MSG_WARN([doxygen not found; C++ docs will not be generated])
fi
AM_CONDITIONAL([HAVE_DOXYGEN], [test -n "$DOXYGEN"])
# we need a fully expanded version of $libdir
# without this we get something like
# define VIPS_LIBDIR ${exec_prefix}/lib
@ -248,11 +254,11 @@ test x"$exec_prefix" = x"NONE" && exec_prefix='${prefix}'
# set $expanded_value to the fully-expanded value of the argument
expand () {
eval expanded_value=$1
eval expanded_value=$1
if test x"$expanded_value" != x"$1"; then
expand "$expanded_value"
fi
if test x"$expanded_value" != x"$1"; then
expand "$expanded_value"
fi
}
expand $libdir
@ -1345,6 +1351,7 @@ AC_CONFIG_FILES([
libvips/mosaicing/Makefile
libvips/create/Makefile
libvips/resample/Makefile
cplusplus/Doxyfile
cplusplus/include/Makefile
cplusplus/include/vips/Makefile
cplusplus/Makefile
@ -1379,6 +1386,7 @@ gobject introspection: $found_introspection
enable radiance support: $with_radiance
enable analyze support: $with_analyze
enable PPM support: $with_ppm
generate C++ docs: $DOXYGEN
* optional dependencies
use fftw3 for FFT: $with_fftw

View File

@ -1 +1,3 @@
html
Doxyfile
doxygen.stamp

View File

@ -38,7 +38,7 @@ PROJECT_NAME = "vips-cpp"
# could be handy for archiving the generated documentation or if some version
# control system is used.
PROJECT_NUMBER = "8.11"
PROJECT_NUMBER = "@VIPS_MAJOR_VERSION@.@VIPS_MINOR_VERSION@"
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a

View File

@ -28,8 +28,24 @@ vips-operators.cpp:
echo "// this file is generated automatically, do not edit!" >> vips-operators.cpp; \
./gen-operators.py -g cpp >> vips-operators.cpp
if HAVE_DOXYGEN
html_DATA = html
html: doxygen.stamp
doxygen.stamp: Doxyfile
$(DOXYGEN) $^
touch doxygen.stamp
install-htmlDATA:
-mkdir -p $(DESTDIR)$(htmldir)
-cp -r html $(DESTDIR)$(htmldir)
endif
EXTRA_DIST = \
README \
vips-operators.cpp \
Doxyfile \
Doxyfile.in \
gen-operators.py