e229fb4e56
Install Doxygen when running on the linux environment to test generation of the API documentation. Run the included static html documentation as well as the generated API documentation through xmllint to verify it conforms to the declared DTD. Since this this will be very slow or fail relying on network resources, also install the w3c-sgml library so the xhtml1 DTDs are available locally. We're checking the source files, not build results in the particular environment, so it's fine to run this check on only a subset of builds. Don't validate on CMake builds since they're not currently generating API documentation even when Doxygen is available.
30 lines
1.0 KiB
YAML
30 lines
1.0 KiB
YAML
language: c
|
|
|
|
os:
|
|
- linux
|
|
- osx
|
|
|
|
dist: xenial
|
|
|
|
compiler:
|
|
- gcc
|
|
- clang
|
|
|
|
env:
|
|
matrix:
|
|
- BUILD_SYSTEM="autotools" CONFIGURE_OPTS=
|
|
- BUILD_SYSTEM="autotools" CONFIGURE_OPTS=--enable-64-bit-words
|
|
- BUILD_SYSTEM="cmake" CONFIGURE_OPTS=
|
|
- BUILD_SYSTEM="cmake" CONFIGURE_OPTS=-DENABLE_64_BIT_WORDS=ON
|
|
install:
|
|
- if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-get -y install libtool-bin libogg-dev doxygen libxml2-utils w3c-sgml-lib; fi
|
|
- if [ $TRAVIS_OS_NAME = osx ]; then brew install libogg; fi
|
|
|
|
script:
|
|
- if [[ "${BUILD_SYSTEM}" == "autotools" ]]; then ./autogen.sh && ./configure $CONFIGURE_OPTS && make && make check; fi
|
|
- if [[ "${BUILD_SYSTEM}" == "cmake" ]]; then mkdir cmake-build && cd cmake-build && cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON $CONFIGURE_OPTS && cmake --build . && ctest -V; fi
|
|
- if [ $TRAVIS_OS_NAME = linux ] && [ ${BUILD_SYSTEM} = "autotools" ]; then
|
|
xmllint --valid --noout doc/html/*.html;
|
|
xmllint --valid --noout doc/html/api/*.html;
|
|
fi
|