<?xml version="1.0" encoding="utf-8" ?> | |
<!-- | |
* Licensed to the Apache Software Foundation (ASF) under one * | |
* or more contributor license agreements. See the NOTICE file * | |
* distributed with this work for additional information * | |
* regarding copyright ownership. The ASF licenses this file * | |
* to you under the Apache License, Version 2.0 (the * | |
* "License"); you may not use this file except in compliance * | |
* with the License. You may obtain a copy of the License at * | |
* * | |
* http://www.apache.org/licenses/LICENSE-2.0 * | |
* * | |
* Unless required by applicable law or agreed to in writing, * | |
* software distributed under the License is distributed on an * | |
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * | |
* KIND, either express or implied. See the License for the * | |
* specific language governing permissions and limitations * | |
* under the License. * | |
--> | |
<project name="etch-cpp-runtime" basedir="." default="help"> | |
<description>Etch-to-CPP runtime binding implementation</description> | |
<property name="Etch.basedir" location="${basedir}/../.." /> | |
<import file="${Etch.basedir}/build-support/etch.includes.xml" /> | |
<!-- Static properties of the sub-project --> | |
<property name="proj" location="${Etch.basedir}/binding-cpp/runtime" /> | |
<property name="target" location="${proj}/target" /> | |
<property name="testResultsDirectory" location="${target}/test-results" /> | |
<!-- INIT TARGET --> | |
<!-- Modify this target to define project specific properties that can only be set at runtime --> | |
<target name="do-init" > | |
<mkdir dir="${target}" /> | |
<mkdir dir="${testResultsDirectory}" /> | |
</target> | |
<!-- CLEAN TARGET --> | |
<target name="do-clean"> | |
<delete dir="${target}" /> | |
<delete dir="${proj}/lib/capu/3psw/libs" /> | |
<delete dir="${proj}/lib/capu/build" /> | |
<delete dir="${proj}/lib/capu/deliverable" /> | |
</target> | |
<!-- BUILD TARGET --> | |
<target name="do-build-info" unless="USE.cmake"> | |
<echo message="**********************************" /> | |
<echo message="binding-cpp build will not be done." /> | |
<echo message="**********************************" /> | |
</target> | |
<target name="do-build-generate-sources" if="USE.cmake"> | |
<mkdir dir="${Etch.dist}/binding-cpp" /> | |
<!-- package up etch-java-runtime src --> | |
<zip destfile="${Etch.dist}/binding-cpp/${etch-cpp-runtime-src.zip}"> | |
<fileset dir="${proj}"> | |
<exclude name="target/" /> | |
<exclude name="doc/" /> | |
<exclude name="**/.svn" /> | |
</fileset> | |
</zip> | |
</target> | |
<!-- Uncomment the generator you would like to use on your platform. If no generator is set explicitly the default generator will be used. --> | |
<target name="do-build-main" if="USE.cmake"> | |
<echo>"${basedir}/target"</echo> | |
<cmake srcdir="${basedir}" bindir="${basedir}/target" buildtype="Debug" > | |
<!--<generator name="Visual Studio 8 2005" platform="windows" />--> | |
<!--<generator name="Visual Studio 9 2008" platform="windows" />--> | |
<!--<generator name="Visual Studio 10 2010" platform="windows" />--> | |
<!--<generator name="Unix Makefiles"/>--> | |
<!--<generator name="Eclipse CDT4 - Unix Makefiles" platform="Linux" />--> | |
<variable name="ETCH_EXTERNAL_DEPENDS" type="PATH" value="${env.ETCH_EXTERNAL_DEPENDS}" /> | |
</cmake> | |
</target> | |
<target name="do-build" depends="do-build-info,do-build-generate-sources,do-build-main" if="USE.cmake"> | |
<mkdir dir="${Etch.dist}/binding-cpp/bin" /> | |
<mkdir dir="${Etch.dist}/binding-cpp/include" /> | |
<mkdir dir="${Etch.dist}/binding-cpp/lib" /> | |
<!-- copy etch library to dist folder --> | |
<copy todir="${Etch.dist}/binding-cpp/include"> | |
<fileset dir="${proj}/include"> | |
<exclude name="**/.svn" /> | |
</fileset> | |
</copy> | |
<copy todir="${Etch.dist}/binding-cpp/lib" flatten="true"> | |
<fileset dir="${target}/src/main"> | |
</fileset> | |
</copy> | |
</target> | |
<!-- TEST TARGET --> | |
<target name="do-test" unless="build.skip.tests"> | |
<!-- Run CAPU Unit Tests --> | |
<!-- Run CAPU Unit Tests on Windows--> | |
<property name="executable-full-path" | |
location="lib/capu/deliverable/capu/bin/Windows_X86_32/Debug/capuTest.exe"/> | |
<exec executable="${executable-full-path}" osfamily="windows" failonerror="true"> | |
<arg value="--gtest_output=xml:${testResultsDirectory}/"/> | |
</exec> | |
<!-- Run CAPU Unit Tests on Unix --> | |
<exec executable="lib/capu/deliverable/capu/bin/Linux_X86_32/capuTest" osfamily="unix" failonerror="true"> | |
<arg value="--gtest_output=xml:${testResultsDirectory}/"/> | |
</exec> | |
<!-- Run Etch Unit Tests --> | |
<!-- Run Etch Unit Tests on Windows--> | |
<exec executable="${target}/src/test/debug/etch-cpp-test" osfamily="windows" failonerror="true"> | |
<arg value="--gtest_output=xml:${testResultsDirectory}/"/> | |
</exec> | |
<!-- Run Etch Unit Tests on Unix --> | |
<exec executable="${target}/src/test/etch-cpp-test" osfamily="unix" failonerror="true"> | |
<arg value="--gtest_output=xml:${testResultsDirectory}/"/> | |
</exec> | |
</target> | |
<!-- POSTBUILD TARGET --> | |
<target name="do-postbuild"> | |
</target> | |
<target name="do-publish" if="build.tests.fail"> | |
<!-- Set flag file if any tests failed --> | |
<touch file="${Etch.runtime.tests.fail}"/> | |
</target> | |
</project> |