Files
libremetaverse/libsecondlife.build
John Hurliman 2d45b08478 * Moved the mapgen.bat script to the root and removed the bin dir from svn to prevent nant clean from screwing up the repository
* Removed all the build-dll references in nant files from projects dependent on libsl, should speed up build times at the possible expense of less build-sanity checking
* TestClient uses the new AppearanceManager code at login

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@690 52acb1d6-8a22-11de-b505-999d5b087335
2006-12-07 06:33:43 +00:00

203 lines
7.5 KiB
XML

<?xml version="1.0"?>
<!-- this is a nAnt build file; use http://nant.sourceforge.net to build me -->
<project name="libsecondlife" default="build">
<sysinfo />
<!-- global framework settings -->
<property name="target.framework" value="${framework::get-target-framework()}" />
<property name="assembly.dir" value="${framework::get-assembly-directory(target.framework)}" />
<!-- default configuration -->
<property name="build.number"
value="${string::replace(string::replace(string::substring(datetime::to-string(datetime::now()),0,10),'/200','0'),'/','')}" />
<!-- <property name="project.version" value="0.0.5" /> -->
<property name="project.version" value="${build.number}" />
<property name="project.config" value="debug" /> <!-- debug|release -->
<property name="package.config" value="dist" /> <!-- dist|src -->
<property name="bin_dir" value="bin" />
<property name="temp.dir" value="/tmp" if="${platform::is-unix()}" />
<property name="temp.dir" value="${sys.env.TEMP}" if="${platform::is-win32()}" />
<!-- build sets -->
<fileset id="apps">
<include name="applications/TestBot/*.build" />
<include name="applications/Decoder/*.build" />
<include name="applications/SLIRC/*.build" />
<include name="SLProxy/*.build" />
</fileset>
<fileset id="lib">
<include name="libjaspernet/*.build" />
<include name="libsecondlife-cs/*.build" />
</fileset>
<fileset id="examples">
<include name="libsecondlife-cs/examples/examples.build" />
</fileset>
<!-- named configurations -->
<target name="init" description="Initializes building properties">
<echo message="assembly.dir=${assembly.dir}" />
<call target="${project.config}" />
</target>
<target name="init-package" description="Initializes packaging properties">
<call target="${package.config}" />
</target>
<target name="debug" description="Configures a debug build">
<property name="build.debug" value="true" />
<property name="package.name"
value="${project::get-name()}-${project.version}-${project.config}" />
</target>
<target name="release" description="Configures a release build">
<property name="project.config" value="release" />
<property name="build.debug" value="false"/>
<property name="package.name"
value="${project::get-name()}-${project.version}" />
</target>
<target name="dist" description="Configures a distribution package">
<property name="dist" value="true" />
<property name="src" value="false" />
<property name="archive.name" value="${package.name}.zip" />
<property name="archive.dir"
value="${temp.dir}/${project::get-name()}-${project.version}" />
</target>
<target name="src" description="Configures a source package">
<property name="package.config" value="src" />
<property name="dist" value="false" />
<property name="src" value="true" />
<property name="archive.dir"
value="${temp.dir}/${project::get-name()}-${project.version}" />
<property name="archive.name"
value="${project::get-name()}-${project.version}.src.zip" />
</target>
<zipfileset id="archive.set" basedir="${temp.dir}">
<include name="${project::get-name()}-${project.version}/**" />
</zipfileset>
<!-- build tasks -->
<target name="build"
depends="build-lib build-examples build-apps"
description="Builds the current configuration">
</target>
<target name="build-lib" depends="init"
description="Builds the libsecondlife dll for the current configuration">
<nant target="${project.config} build">
<buildfiles refid="lib" />
</nant>
<copy todir="bin" overwrite="true">
<fileset basedir="data">
<include name="*.txt" />
<include name="*.msg" />
</fileset>
</copy>
</target>
<target name="build-apps" depends="init"
description="Builds the application suite for the current configuration">
<nant target="${project.config} build">
<buildfiles refid="apps" />
</nant>
</target>
<target name="build-examples" depends="init"
description="Builds the libsecondlife examples for the current configuration">
<nant target="${project.config} build">
<buildfiles refid="examples" />
</nant>
</target>
<target name="clean" depends="init"
description="Deletes the built products">
<delete dir="${bin_dir}" failonerror="false" />
</target>
<target name="clean-all"
description="Deletes all built products and packagess">
<delete dir="${bin_dir}" failonerror="false" />
<delete failonerror="false">
<fileset basedir=".">
<include name="*.zip" />
</fileset>
</delete>
</target>
<target name="package" depends="init init-package"
description="Creates a zip archive for the current configuration">
<delete file="${archive.name}" failonerror="false" />
<if test="${src}">
<mkdir dir="${archive.dir}" failonerror="false" />
<copy todir="${archive.dir}" overwrite="true">
<fileset basedir=".">
<include name="**" />
<exclude name="*.zip" />
</fileset>
</copy>
</if>
<if test="${dist}">
<call target="build" />
<mkdir dir="${archive.dir}" failonerror="false" />
<copy todir="${archive.dir}" overwrite="true">
<fileset basedir=".">
<include name="LICENSE" />
<include name="README" />
</fileset>
</copy>
<copy todir="${archive.dir}" overwrite="true">
<fileset basedir="bin">
<include name="*.exe" />
<include name="*.dll" />
<include name="message_template.msg" />
</fileset>
</copy>
</if>
<zip zipfile="${archive.name}">
<fileset refid="archive.set" />
</zip>
<delete dir="${archive.dir}" failonerror="false" />
<echo message="Created archive at file://${project::get-base-directory()}/${archive.name}" />
</target>
<target name="doc" depends="build"
description="Compiles html documentation for libsecondlife">
<ndoc>
<assemblies basedir="bin">
<include name="libsecondlife.dll" />
</assemblies>
<summaries basedir="bin">
<include name="doc/libsecondlife.xml" />
</summaries>
<documenters>
<documenter name="MSDN">
<property name="OutputDirectory" value="doc" />
<property name="HtmlHelpName" value="libsecondlife" />
<property name="IncludeFavorites" value="False" />
<property name="Title" value="libsecondlife Documentation" />
<property name="SplitTOCs" value="False" />
<property name="DefaulTOC" value="" />
<property name="ShowVisualBasic" value="True" />
<property name="ShowMissingSummaries" value="True" />
<property name="ShowMissingRemarks" value="True" />
<property name="ShowMissingParams" value="True" />
<property name="ShowMissingReturns" value="True" />
<property name="ShowMissingValues" value="True" />
<property name="DocumentInternals" value="False" />
<property name="DocumentProtected" value="True" />
<property name="DocumentPrivates" value="False" />
<property name="DocumentEmptyNamespaces" value="False" />
<property name="IncludeAssemblyVersion" value="False" />
<property name="CopyrightText" value="" />
<property name="CopyrightHref" value="" />
</documenter>
</documenters>
</ndoc>
</target>
</project>