<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>com.googlecode.jace</groupId>
		<artifactId>jace-core</artifactId>
		<version>1.2.22</version>
	</parent>
	<artifactId>jace-core-cpp</artifactId>
	<name>Jace Core C++</name>
	<description>Jace core module, C++ source-code</description>
	<build>
		<directory>${basedir}/target/${jace.classifier}</directory>
		<sourceDirectory>src/main/cpp</sourceDirectory>
		<plugins>
			<plugin>
				<artifactId>maven-dependency-plugin</artifactId>
				<version>2.4</version>
				<executions>
					<execution>
						<goals>
							<goal>unpack</goal>
						</goals>
						<configuration>
							<artifactItems>
								<artifactItem>
									<groupId>com.googlecode.boost-maven-project</groupId>
									<artifactId>boost-api</artifactId>
									<version>${boost.version}</version>
									<outputDirectory>${project.build.directory}/dependency/boost</outputDirectory>
								</artifactItem>
								<artifactItem>
									<groupId>com.googlecode.boost-maven-project</groupId>
									<artifactId>boost-date-time</artifactId>
									<classifier>${boost.classifier}</classifier>
									<version>${boost.version}</version>
									<outputDirectory>${project.build.directory}/dependency/boost</outputDirectory>									
								</artifactItem>
								<artifactItem>
									<groupId>com.googlecode.boost-maven-project</groupId>
									<artifactId>boost-thread</artifactId>
									<classifier>${boost.classifier}</classifier>
									<version>${boost.version}</version>
									<outputDirectory>${project.build.directory}/dependency/boost</outputDirectory>
								</artifactItem>
							</artifactItems>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>com.googlecode.cmake-maven-project</groupId>
				<artifactId>cmake-maven-plugin</artifactId>
				<version>2.8.8-b1</version>
				<executions>
					<execution>
						<id>cmake-generate</id>
						<phase>process-resources</phase>
						<goals>
							<goal>generate</goal>
						</goals>
						<configuration>
							<sourcePath>${project.build.directory}/sources</sourcePath>
							<targetPath>${project.build.directory}/cmake</targetPath>
							<generator>${cmake.generator}</generator>
							<environmentVariables>
								<BOOST_HOME>${project.build.directory}/dependency/boost</BOOST_HOME>
							</environmentVariables>
						</configuration>
					</execution>
					<execution>
						<id>cmake-compile</id>
						<phase>process-resources</phase>
						<goals>
							<goal>compile</goal>
						</goals>
						<configuration>
							<projectDirectory>${project.build.directory}/cmake</projectDirectory>
							<config>${cmake.config}</config>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<artifactId>maven-resources-plugin</artifactId>
				<version>2.5</version>
				<executions>
					<execution>
						<id>copy-sources</id>
						<phase>generate-sources</phase>
						<goals>
							<goal>copy-resources</goal>
						</goals>
						<configuration>
							<outputDirectory>${project.build.directory}/sources</outputDirectory>
							<resources>
								<resource>
									<directory>${project.build.sourceDirectory}</directory>
								</resource>
							</resources>
						</configuration>            
					</execution>
					<execution>
						<id>copy-binaries</id>
						<phase>process-resources</phase>
						<goals>
							<goal>copy-resources</goal>
						</goals>
						<configuration>
							<outputDirectory>${project.build.outputDirectory}</outputDirectory>
							<resources>
								<resource>
									<directory>${project.build.directory}/cmake/${build.type}</directory>
									<targetPath>lib</targetPath>
									<includes>
										<include>*.lib</include>
										<include>*.dll</include>
										<include>*.pdb</include>
									</includes>
								</resource>
								<resource>
									<directory>${project.build.directory}/sources/include</directory>
									<targetPath>include</targetPath>
									<includes>
										<include>**/*.h</include>
										<include>**/*.tsp</include>
										<include>**/*.tsd</include>
									</includes>
								</resource>
								<resource>
									<directory>${project.build.directory}/cmake</directory>
									<targetPath>lib</targetPath>
									<includes>
										<include>*.so</include>
									</includes>
								</resource>
							</resources>              
						</configuration>            
					</execution>
				</executions>
				<configuration>
					<encoding>${project.build.sourceEncoding}</encoding>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-antrun-plugin</artifactId>
				<version>1.7</version>
				<executions>
					<execution>
						<!-- Workaround for Maven bug: http://stackoverflow.com/a/6521686/14731 -->
						<id>chmod-post-build</id>
						<phase>process-resources</phase>
						<configuration>
							<target>
								<chmod file="${project.build.directory}/sources/post-build.sh" perm="755" />
							</target>
						</configuration>
						<goals>
							<goal>run</goal>
						</goals>
					</execution>
				</executions>
			</plugin>			
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>2.3.2</version>
				<configuration>
					<source>1.7</source>
					<target>1.7</target>
					<encoding>${project.build.sourceEncoding}</encoding>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<version>2.4</version>
				<configuration>
					<classifier>${jace.classifier}</classifier>
				</configuration>
			</plugin>
		</plugins>
	</build>
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<boost.version>1.49.0-b1</boost.version>
		<jace.classifier>${platform}-${build.type}</jace.classifier>
	</properties>
	<profiles>
		<profile>
			<id>windows-i386-vs10-debug</id>
			<properties>
				<cmake.generator>Visual Studio 10</cmake.generator>
				<cmake.config>Debug|Win32</cmake.config>
				<platform>windows-i386-vs10</platform>
				<build.type>debug</build.type>
				<boost.classifier>windows-i386-msvc-debug</boost.classifier>
			</properties>
		</profile>
		<profile>
			<id>windows-i386-vs10-release</id>
			<properties>
				<cmake.generator>Visual Studio 10</cmake.generator>
				<cmake.config>Release|Win32</cmake.config>
				<platform>windows-i386-vs10</platform>
				<build.type>release</build.type>
				<boost.classifier>windows-i386-msvc-release</boost.classifier>
			</properties>
		</profile>
		<profile>
			<id>windows-amd64-vs10-debug</id>
			<properties>
				<cmake.generator>Visual Studio 10 Win64</cmake.generator>
				<cmake.config>Debug|x64</cmake.config>
				<platform>windows-amd64-vs10</platform>
				<build.type>debug</build.type>
				<boost.classifier>windows-amd64-msvc-debug</boost.classifier>
			</properties>
		</profile>
		<profile>
			<id>windows-amd64-vs10-release</id>
			<properties>
				<cmake.generator>Visual Studio 10 Win64</cmake.generator>
				<cmake.config>Release|x64</cmake.config>
				<platform>windows-amd64-vs10</platform>
				<build.type>release</build.type>
				<boost.classifier>windows-amd64-msvc-release</boost.classifier>
			</properties>
		</profile>
		<profile>
			<id>linux-i386-gcc-debug</id>
			<properties>
				<cmake.generator>Unix Makefiles</cmake.generator>
				<platform>linux-i386-gcc</platform>
				<build.type>debug</build.type>
				<boost.classifier>linux-i386-gcc-debug</boost.classifier>
			</properties>
		</profile>
		<profile>
			<id>linux-i386-gcc-release</id>
			<properties>
				<cmake.generator>Unix Makefiles</cmake.generator>
				<platform>linux-i386-gcc</platform>
				<build.type>release</build.type>
				<boost.classifier>linux-i386-gcc-release</boost.classifier>
			</properties>
		</profile>
		<profile>
			<id>linux-amd64-gcc-debug</id>
			<properties>
				<cmake.generator>Unix Makefiles</cmake.generator>
				<platform>linux-amd64-gcc</platform>
				<build.type>debug</build.type>
				<boost.classifier>linux-amd64-gcc-debug</boost.classifier>
			</properties>
		</profile>
		<profile>
			<id>linux-amd64-gcc-release</id>
			<properties>
				<cmake.generator>Unix Makefiles</cmake.generator>
				<platform>linux-amd64-gcc</platform>
				<build.type>release</build.type>
				<boost.classifier>linux-amd64-gcc-release</boost.classifier>
			</properties>
		</profile>
	</profiles>
</project>
