mirror of
https://github.com/mat007/turtle.git
synced 2026-06-22 12:13:43 +00:00
161 lines
7.4 KiB
XML
161 lines
7.4 KiB
XML
<!--
|
|
Copyright Mathieu Champlon 2008.
|
|
|
|
Distributed under the Boost Software License, Version 1.0.
|
|
(See accompanying file LICENSE_1_0.txt or copy at
|
|
http://www.boost.org/LICENSE_1_0.txt)
|
|
-->
|
|
<project name="turtle" default="all">
|
|
|
|
<property environment="env"/>
|
|
<fail unless="env.BOOST_ROOT" message="missing BOOST_ROOT environment variable"/>
|
|
<property name="boost.dir" value="${env.BOOST_ROOT}"/>
|
|
<property name="include.dir" value="${env.BOOST_ROOT}"/>
|
|
<property name="src.dir" value="${root.dir}"/>
|
|
<property name="doc.dir" value="${src.dir}/doc"/>
|
|
<property name="tests.dir" value="${src.dir}/test"/>
|
|
<property name="libraries.dir" value="${src.dir}/include"/>
|
|
<property name="boostbook.dir" value="${out.dir}/boostbook"/>
|
|
<property name="boost-mock.dir" value="${out.dir}/boost-mock"/>
|
|
<property name="version" value="unreleased"/>
|
|
|
|
<import file="${env.PONEY_HOME}/poney.xml"/>
|
|
|
|
<condition property="b2.toolset" value="--toolset=${boost.toolset}" else="">
|
|
<isset property="boost.toolset"/>
|
|
</condition>
|
|
<condition property="b2" value="b2.exe" else="b2">
|
|
<os family="windows"/>
|
|
</condition>
|
|
<presetdef name="b2">
|
|
<exec taskname="b2" failonerror="true" executable="${boost.dir}/${b2}">
|
|
<arg value="-q"/>
|
|
<arg value="${b2.toolset}"/>
|
|
</exec>
|
|
</presetdef>
|
|
|
|
<target name="reports" description="generate code analysis reports">
|
|
<headers name="turtle" excludes="**/*_iterate.hpp,**/*_template.hpp"/>
|
|
<check name="turtle"/>
|
|
</target>
|
|
|
|
<target name="test" description="run tests">
|
|
<b2 dir="${tests.dir}"/>
|
|
</target>
|
|
|
|
<target name="documentation" depends="boost.generate" description="generate documentation">
|
|
<b2 dir="${boost-mock.dir}/doc">
|
|
<env key="BOOSTBOOK_DIR" value="${boostbook.dir}"/>
|
|
</b2>
|
|
</target>
|
|
|
|
<target name="release" depends="documentation" description="produce release packages">
|
|
<fail unless="version" message="missing version property"/>
|
|
<copy file="version.hpp" tofile="${out.dir}/version.hpp">
|
|
<filterset>
|
|
<filter token="MOCK_VERSION" value="${version}"/>
|
|
</filterset>
|
|
</copy>
|
|
<zip destfile="${dist.dir}/${ant.project.name}-${version}.zip">
|
|
<fileset dir="${dist.dir}" includes="include/**"/>
|
|
<zipfileset dir="${doc.dir}/html" prefix="doc"/>
|
|
<zipfileset dir="${out.dir}" includes="version.hpp" prefix="include/turtle"/>
|
|
</zip>
|
|
<tar destfile="${dist.dir}/${ant.project.name}-${version}.tar.bz2" compression="bzip2">
|
|
<fileset dir="${dist.dir}" includes="include/**"/>
|
|
<zipfileset dir="${doc.dir}/html" prefix="doc"/>
|
|
<zipfileset dir="${out.dir}" includes="version.hpp" prefix="include/turtle"/>
|
|
</tar>
|
|
</target>
|
|
|
|
<target name="all" depends="test,reports,release" description="build and run tests then package distribution"/>
|
|
|
|
<target name="boost.generate" description="generate Boost.Mock">
|
|
<delete dir="${boost-mock.dir}"/>
|
|
<copy todir="${boost-mock.dir}" overwrite="true" preservelastmodified="true">
|
|
<fileset dir="${src.dir}" includes="LICENSE_1_0.txt,index.html,include/**,doc/**,test/**" excludes="**/bin/**"/>
|
|
</copy>
|
|
<copy todir="${boostbook.dir}">
|
|
<fileset dir="${boost.dir}/tools/boostbook" includes="xsl/**,dtd/**"/>
|
|
</copy>
|
|
<copy todir="${boostbook.dir}" overwrite="true">
|
|
<fileset dir="boostbook"/>
|
|
</copy>
|
|
<copy todir="${boost-mock.dir}/doc/html">
|
|
<fileset dir="${boost.dir}/doc/src" includes="**/boostbook.css,**/**.png"/>
|
|
</copy>
|
|
</target>
|
|
|
|
<target name="boost.convert" depends="boost.generate" description="convert Boost.Mock">
|
|
<move file="${boost-mock.dir}/include/turtle" tofile="${boost-mock.dir}/include/boost/mock"/>
|
|
<replaceregexp match="MOCK" replace="BOOST_MOCK" flags="g">
|
|
<fileset dir="${boost-mock.dir}" includes="**/*.cpp,**/*.hpp,**/*.qbk"/>
|
|
</replaceregexp>
|
|
<replaceregexp match="BOOST_MOCK_BOOST_MOCK" replace="BOOST_MOCK" flags="g">
|
|
<fileset dir="${boost-mock.dir}" includes="**/*.cpp,**/*.hpp,**/*.qbk"/>
|
|
</replaceregexp>
|
|
<replaceregexp match='"([^"]+\.hpp)"' replace="<boost/mock/\1>" flags="g">
|
|
<fileset dir="${boost-mock.dir}/include" includes="**/*.hpp" excludes="**/detail/*.hpp"/>
|
|
</replaceregexp>
|
|
<replaceregexp match='"\.\./([^"]+\.hpp)"' replace="<boost/mock/\1>" flags="g">
|
|
<fileset dir="${boost-mock.dir}/include" includes="**/*.hpp"/>
|
|
</replaceregexp>
|
|
<replaceregexp match='"([^"]+\.hpp)"' replace="<boost/mock/detail/\1>" flags="g">
|
|
<fileset dir="${boost-mock.dir}/include" includes="**/detail/*.hpp"/>
|
|
</replaceregexp>
|
|
<replaceregexp match="<turtle/([^>]+)" replace="<boost/mock/\1" flags="g">
|
|
<fileset dir="${boost-mock.dir}" includes="**/*.cpp,**/*.hpp,**/*.qbk"/>
|
|
</replaceregexp>
|
|
<replaceregexp match="(namespace mock)" replace="namespace boost${line.separator}{${line.separator}\1" flags="g">
|
|
<fileset dir="${boost-mock.dir}" includes="**/*.cpp,**/*.hpp,**/*.qbk"/>
|
|
</replaceregexp>
|
|
<replaceregexp match="} // mock" replace="}${line.separator}}" flags="g">
|
|
<fileset dir="${boost-mock.dir}" includes="**/*.cpp,**/*.hpp"/>
|
|
</replaceregexp>
|
|
<replaceregexp match=" mock::" replace=" boost::mock::" flags="g">
|
|
<fileset dir="${boost-mock.dir}" includes="**/*.cpp,**/*.hpp,**/*.qbk"/>
|
|
</replaceregexp>
|
|
<replaceregexp match="^mock::" replace="boost::mock::" flags="m">
|
|
<fileset dir="${boost-mock.dir}" includes="**/*.cpp,**/*.hpp,**/*.qbk"/>
|
|
</replaceregexp>
|
|
<replaceregexp match="http://turtle.sourceforge.net" replace="Boost.Mock" flags="g">
|
|
<fileset dir="${boost-mock.dir}" includes="**/*.cpp,**/*.hpp"/>
|
|
</replaceregexp>
|
|
<replaceregexp match="reference.helpers." replace="reference.helpers.boost_" flags="g">
|
|
<fileset dir="${boost-mock.dir}" includes="**/*.qbk"/>
|
|
</replaceregexp>
|
|
<replaceregexp match="turtle." replace="boost_mock." flags="g">
|
|
<fileset dir="${boost-mock.dir}" includes="**/*.qbk"/>
|
|
</replaceregexp>
|
|
<replaceregexp match="Turtle" replace="Boost.Mock" flags="g">
|
|
<fileset dir="${boost-mock.dir}" includes="**/*.qbk"/>
|
|
</replaceregexp>
|
|
<replaceregexp match="\[include changelog.qbk\]" replace="" flags="g">
|
|
<fileset dir="${boost-mock.dir}" includes="**/mock.qbk"/>
|
|
</replaceregexp>
|
|
</target>
|
|
|
|
<target name="boost.test" description="run Boost.Mock tests">
|
|
<b2 dir="${boost-mock.dir}/test"/>
|
|
</target>
|
|
|
|
<target name="boost.documentation" depends="boost.generate" description="generate Boost.Mock documentation">
|
|
<b2 dir="${boost-mock.dir}/doc">
|
|
<env key="BOOSTBOOK_DIR" value="${boostbook.dir}"/>
|
|
</b2>
|
|
</target>
|
|
|
|
<target name="boost.package" description="package Boost.Mock">
|
|
<zip destfile="${out.dir}/boost-mock.zip">
|
|
<fileset dir="${boost-mock.dir}" includes="libs/mock/**" excludes="**/bin/**"/>
|
|
<fileset dir="${boost-mock.dir}" includes="LICENSE_1_0.txt"/>
|
|
</zip>
|
|
<tar destfile="${out.dir}/boost-mock.tar.bz2" compression="bzip2">
|
|
<fileset dir="${boost-mock.dir}" includes="libs/mock/**" excludes="**/bin/**"/>
|
|
<fileset dir="${boost-mock.dir}" includes="LICENSE_1_0.txt"/>
|
|
</tar>
|
|
</target>
|
|
|
|
<target name="boost" depends="boost.convert,boost.test,boost.documentation,boost.package" description="convert to boost with documentation and tests"/>
|
|
|
|
</project>
|