| <?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 includes to dist folder --> | |
| <copy todir="${Etch.dist}/binding-cpp/include"> | |
| <fileset dir="${proj}/include"> | |
| <exclude name="**/.svn" /> | |
| </fileset> | |
| </copy> | |
| <!-- copy etch library to dist folder --> | |
| <copy todir="${Etch.dist}/binding-cpp/lib" flatten="true"> | |
| <fileset dir="${target}/src/main"> | |
| </fileset> | |
| </copy> | |
| <!-- copy capu includes to dist folder --> | |
| <copy todir="${Etch.dist}/binding-cpp/include"> | |
| <fileset dir="${proj}/lib/capu/deliverable/capu/include/capu"> | |
| <exclude name="**/.svn" /> | |
| </fileset> | |
| </copy> | |
| <!-- copy capu lib to dist folder --> | |
| <copy todir="${Etch.dist}/binding-cpp/lib"> | |
| <fileset dir="${proj}/lib/capu/deliverable/capu/lib"> | |
| <include name="**/*.lib" /> | |
| <include name="**/*.a" /> | |
| </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> |