make/project.xml

Mon, 18 Dec 2023 14:25:10 +0100

author
Mike Becker <universe@uap-core.de>
date
Mon, 18 Dec 2023 14:25:10 +0100
changeset 760
52e49533e7b4
parent 759
475335643af4
child 766
e59b76889f00
permissions
-rw-r--r--

update build instructions

<?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>
		<var name="CMAKE" exec="true">command -v cmake</var>
	</config>

	<dependency>
		<make>
# library version
VERSION=3.1.0
LIBVERSION=4.1.0
LIBVERSION_MAJOR=4

# 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="cpp">
		<lang>cpp</lang>
	</dependency>

	<dependency name="cmake">
		<test>test -n "$CMAKE"</test>
	</dependency>

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

	<dependency name="pandoc">
		<test>test -n "$PANDOC"</test>
	</dependency>
	
	<target>
		<option arg="with-tests">
			<value str="yes">
				<dependencies>cpp,cmake</dependencies>
				<make>WITH_TESTS=yes</make>
			</value>
			<value str="no"/>
			<default value="yes"/>
			<default value="no"/>
		</option>
		<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>
		<dependencies>c,file-tools</dependencies>
	</target>
</project>

mercurial