Fri, 23 May 2025 12:44:24 +0200
make test-compile depend on both static and shared
the shared lib is not needed for the tests,
but when run with coverage, gcov will be confused
when outdated line information is available from
a previous shared build
<?xml version="1.0" encoding="UTF-8"?> <project version="0.3" xmlns="http://unixwork.de/uwproj"> <config> <var name="root_dir" exec="true">pwd</var> <var name="DOXYGEN" exec="true">command -v doxygen</var> </config> <dependency> <make> # library version VERSION=3.2.0 LIBVERSION=5.1.0 LIBVERSION_MAJOR=5 # build directory structure !! do not change or override !! root_dir=${root_dir} build_dir=${root_dir}/build docs_dir=${root_dir}/build/docs dist_dir=${root_dir}/dist </make> </dependency> <dependency platform="solaris"> <ldflags>-lm</ldflags> </dependency> <dependency name="file-tools"> <make> MKDIR=/bin/mkdir -p RMFILE=/bin/rm -f RMDIR=/bin/rm -f -R COPYFILE=/bin/cp -f COPYALL=/bin/cp -f -R SYMLINK=/bin/ln -s </make> </dependency> <dependency name="c" platform="mingw"> <lang>c</lang> <make> AR=ar ARFLAGS=r STLIB_EXT=.lib SHLIB_EXT=.dll </make> </dependency> <dependency name="c" platform="macos"> <lang>c</lang> <make> AR=ar ARFLAGS=r STLIB_EXT=.a SHLIB_EXT=.dylib </make> </dependency> <dependency name="c" platform="unix"> <lang>c</lang> <make> AR=ar ARFLAGS=cr STLIB_EXT=.a SHLIB_EXT=.so </make> </dependency> <dependency name="cxx"> <lang>cpp</lang> </dependency> <dependency name="doxygen"> <test>test -n "$DOXYGEN"</test> <make>DOXYGEN=$DOXYGEN</make> </dependency> <dependency name="coverage" toolchain="gcc"> <cflags>\${COVERAGE_CFLAGS}</cflags> <ldflags>\${COVERAGE_LDFLAGS}</ldflags> <test>command -v gcovr</test> </dependency> <dependency name="asan" toolchain="gnuc"> <cflags>-fsanitize=address</cflags> <ldflags>-fsanitize=address</ldflags> </dependency> <dependency name="no_coverage"> <test>test -z "$FEATURE_COVERAGE"</test> </dependency> <target> <feature name="api-docs"> <dependencies>doxygen</dependencies> <desc>run Doxygen during build</desc> <make> # Documentation WITH_API_DOCS=yes </make> </feature> <feature name="coverage"> <desc>test coverage with gcov</desc> <dependencies>coverage</dependencies> </feature> <feature name="asan"> <desc>address sanitizer</desc> <dependencies>asan</dependencies> </feature> <feature name="cxx-tests" default="true"> <dependencies>cxx</dependencies> <desc>the check-cxx makefile target</desc> <make> # Enable the check-cxx target WITH_CXX_TEST=yes </make> </feature> <feature name="szmul-builtin" default="true"> <dependencies>no_coverage</dependencies> <desc>use custom implementation, instead</desc> <disabled> <define name="CX_NO_SZMUL_BUILTIN"/> </disabled> </feature> <dependencies>c,file-tools</dependencies> </target> </project>