make/project.xml

Sun, 18 Feb 2024 12:24:04 +0100

author
Mike Becker <universe@uap-core.de>
date
Sun, 18 Feb 2024 12:24:04 +0100
changeset 830
c4dae6fe6d5b
parent 825
3f324ea53152
child 842
b48cbfa109d4
permissions
-rw-r--r--

commit complicated stuff before simplifying it

relates to #371

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://unixwork.de/uwproj">
    <config>
        <var name="src_dir" exec="true">pwd</var>
        <var name="DOXYGEN" exec="true">command -v doxygen</var>
        <var name="PANDOC" exec="true">command -v pandoc</var>
    </config>

    <dependency>
        <make>
            # library version
            VERSION=3.1.0
            LIBVERSION=5.0.0
            LIBVERSION_MAJOR=5

            # build directory structure !! do not change or override !!
            build_dir=${src_dir}/build
            docs_dir=${src_dir}/build/docs
            dist_dir=${src_dir}/dist
        </make>
    </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=r
            STLIB_EXT=.a
            SHLIB_EXT=.so
        </make>
    </dependency>

    <dependency name="doxygen">
        <test>test -n "$DOXYGEN"</test>
    </dependency>

    <dependency name="pandoc">
        <test>test -n "$PANDOC"</test>
    </dependency>

    <dependency name="coverage" toolchain="gnuc">
        <cflags>\${COVERAGE_CFLAGS}</cflags>
        <ldflags>\${COVERAGE_LDFLAGS}</ldflags>
    </dependency>

    <target>
        <option arg="with-docs">
            <value str="all">
                <dependencies>pandoc,doxygen</dependencies>
                <make>
                    # Documentation
                    WITH_DOCS_API=yes
                    WITH_DOCS_HTML=yes
                </make>
            </value>
            <value str="html">
                <dependencies>pandoc</dependencies>
                <make>
                    # Documentation
                    WITH_DOCS_HTML=yes
                </make>
            </value>
            <value str="api">
                <dependencies>doxygen</dependencies>
                <make>
                    # Documentation
                    WITH_DOCS_API=yes
                </make>
            </value>
            <value str="none"/>
            <default value="all"/>
            <default value="html"/>
            <default value="api"/>
            <default value="none"/>
        </option>
        <feature name="coverage">
            <dependencies>coverage</dependencies>
        </feature>
        <dependencies>c,file-tools</dependencies>
    </target>
</project>

mercurial