test/make/project2.xml

Mon, 01 Dec 2025 21:27:09 +0100

author
Mike Becker <universe@uap-core.de>
date
Mon, 01 Dec 2025 21:27:09 +0100
changeset 177
8872934e5fb2
parent 174
bb760ad2211d
permissions
-rw-r--r--

resolve dependencies between standard config vars

fixes #768

<?xml version="1.0" encoding="UTF-8"?>
<project version="0.4" xmlns="http://unixwork.de/uwproj">
    <config>
        <prefix>`pwd`/work</prefix>
        <libdir/>
        <datadir/>
        <localstatedir>/var</localstatedir>
        <var name="libdatadir" option-help="miscellaneous files for libraries [PREFIX/libdata]">$prefix/libdata</var>
        <var name="SRCDIR" exec="true">pwd</var>
        <var name="TOOLKIT_HOME" option-help="the location of the toolkit installation [%default]">/usr</var>
    </config>

    <dependency name="curl" platform="windows">
        <cflags>-I/mingw/include</cflags>
        <ldflags>-lcurl</ldflags>
    </dependency>
    <dependency name="curl" platform="macos">
        <cflags exec="true">curl-config --cflags</cflags>
        <ldflags exec="true">curl-config --ldflags</ldflags>
    </dependency>
    <dependency name="test" platform="bsd" not="macos">
        <cflags>-DBSD</cflags>
    </dependency>
    <dependency name="curl">
        <pkgconfig>libcurl</pkgconfig>
    </dependency>
    <dependency name="libxml2">
        <pkgconfig atleast="2.8">libxml-2.0</pkgconfig>
        <make>xml = libxml2</make>
    </dependency>
    <dependency name="sqlite">
        <pkgconfig>sqlite3</pkgconfig>
    </dependency>
    <dependency name="test">
        <cflags>-DTEST</cflags>
    </dependency>
    <dependency name="gtk3">
        <pkgconfig>gtk+-5.0</pkgconfig>
    </dependency>
    <dependency name="gtk2">
        <pkgconfig>gtk+-2.0</pkgconfig>
    </dependency>
    <dependency name="qt4">
        <test>which qmake-qt4</test>
    </dependency>

    <dependency name="deptest">
        <cflags>-DDEPTEST</cflags>
    </dependency>

    <dependency>
        <lang>c</lang>
        <make>MVAR = 123</make>
        <make>MVAR += 123</make>
    </dependency>

    <target name="dav">
        <feature name="db" default="true">
            <desc>
                Needlessly adds a completely useless SQLite database by default.
                Here another line to test tabs and line

                breaks.
            </desc>
            <dependencies>sqlite</dependencies>
            <define name="DATABASE"/>
        </feature>
        <feature name="gui">
            <dependencies>gtk3</dependencies>
            <define name="UI" value="GTK3"/>
            <disabled>
                <define name="CONSOLE"/>
            </disabled>
        </feature>
        <option arg="toolkit">
            <desc>
                The toolkit to use for the UI.
            </desc>
            <value str="gtk3">
                <define name="a" value="b"/>
                <dependencies>gtk3</dependencies>
                <make>UIOBJ += graphics_cairo.o</make>
            </value>
            <value str="cli">
                <dependencies>curl,test</dependencies>
            </value>
            <value str="gtk2">
                <dependencies>gtk2</dependencies>
            </value>
            <value str="wpf">
                <dependencies>test</dependencies>
            </value>
            <default value="wpf" platform="windows"/>
            <default value="gtk3"/>
            <default value="gtk2"/>
        </option>
        <dependencies>curl,libxml2,test</dependencies>
    </target>

    <target>
        <dependencies>deptest</dependencies>
    </target>
</project>

mercurial