gatk-3.8/public/c++/pom.xml

168 lines
7.1 KiB
XML

<?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>org.broadinstitute.sting</groupId>
<artifactId>sting-root</artifactId>
<version>2.8-SNAPSHOT</version>
<relativePath>../../public/sting-root</relativePath>
</parent>
<artifactId>pairhmm-native</artifactId>
<packaging>pom</packaging>
<name>PairHMM Native Libraries</name>
<description>Builds a platform dependent version of pairhmm. During install, copies it into sting-utils.</description>
<properties>
<sourceEncoding>UTF-8</sourceEncoding>
<project.build.sourceEncoding>${sourceEncoding}</project.build.sourceEncoding>
<project.reporting.outputEncoding>${sourceEncoding}</project.reporting.outputEncoding>
<sting.basedir>${project.basedir}/../..</sting.basedir>
<sting-utils.basedir>${sting.basedir}/public/sting-utils</sting-utils.basedir>
<!-- Where to place the library in sting-utils -->
<pairhmm.resources.directory>${sting-utils.basedir}/src/main/resources/org/broadinstitute/sting/utils/pairhmm</pairhmm.resources.directory>
<!-- Per architecture properties, overriden in profiles below -->
<!--
NOTE: cxxflags is for currently only for -fPIC on linux.
For other architectures still have to pass something, until possibly
switching to command line arguments with exec-maven-plugin 1.3
http://jira.codehaus.org/browse/MEXEC-104
-->
<pairhmm.build.architecture>x86_64</pairhmm.build.architecture>
<pairhmm.build.extension>so</pairhmm.build.extension>
<pairhmm.build.cxxflags>-Wall</pairhmm.build.cxxflags>
<pairhmm.build.ldflags>-dynamiclib</pairhmm.build.ldflags>
</properties>
<build>
<plugins>
<!-- Print out the current architecture, to know which profile is being activated. -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>display-info</goal>
</goals>
<phase>validate</phase>
</execution>
</executions>
</plugin>
<!-- Run make -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>exec</goal>
</goals>
<phase>compile</phase>
<configuration>
<executable>make</executable>
<workingDirectory>VectorPairHMM</workingDirectory>
<environmentVariables>
<ARCHITECTURE>${pairhmm.build.architecture}</ARCHITECTURE>
<LIB_EXT>${pairhmm.build.extension}</LIB_EXT>
<CXXFLAGS>${pairhmm.build.cxxflags}</CXXFLAGS>
<LDFLAGS>${pairhmm.build.ldflags}</LDFLAGS>
<OUTPUT_DIR>${project.build.directory}</OUTPUT_DIR>
</environmentVariables>
</configuration>
</execution>
</executions>
</plugin>
<!-- Don't actually install this artifact into the user's repo -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<!-- Copy the built library into sting-utils -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>default-install</id>
<goals>
<goal>copy-resources</goal>
</goals>
<phase>install</phase>
<configuration>
<outputDirectory>${pairhmm.resources.directory}</outputDirectory>
<resources>
<resource>
<directory>${project.build.directory}</directory>
<includes>
<include>**/*</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<!-- pom.xml cleanup, always sort according to the definitions in sting-root -->
<plugin>
<groupId>com.google.code.sortpom</groupId>
<artifactId>maven-sortpom-plugin</artifactId>
<configuration>
<createBackupFile>false</createBackupFile>
<predefinedSortOrder>custom_1</predefinedSortOrder>
<lineSeparator>\n</lineSeparator>
<encoding>${sourceEncoding}</encoding>
<keepBlankLines>true</keepBlankLines>
<sortDependencies>scope</sortDependencies>
<nrOfIndentSpace>4</nrOfIndentSpace>
<expandEmptyElements>false</expandEmptyElements>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>mac_x86_64</id>
<activation>
<os>
<family>mac</family>
<arch>x86_64</arch>
</os>
</activation>
<properties>
<pairhmm.build.architecture>mac_x86_64</pairhmm.build.architecture>
<pairhmm.build.extension>jnilib</pairhmm.build.extension>
<pairhmm.build.ldflags>-dynamiclib</pairhmm.build.ldflags>
</properties>
</profile>
<profile>
<id>linux_x86_64</id>
<activation>
<os>
<name>linux</name>
<arch>amd64</arch>
</os>
</activation>
<properties>
<pairhmm.build.architecture>linux_x86_64</pairhmm.build.architecture>
<pairhmm.build.extension>jnilib</pairhmm.build.extension>
<pairhmm.build.cxxflags>-fPIC</pairhmm.build.cxxflags>
<pairhmm.build.ldflags>-shared</pairhmm.build.ldflags>
</properties>
</profile>
</profiles>
</project>