<?xml version="1.0" encoding="UTF-8"?>
<!--
   Copyright (C) 2011, Red Hat, Inc.

   All rights reserved. This program and the accompanying materials
   are made available under the terms of the Eclipse Public License v1.0
   which accompanies this distribution, and is available at
   http://www.eclipse.org/legal/epl-v10.html
-->

<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>

  <prerequisites>
    <maven>3.0</maven>
  </prerequisites>

  <parent>
    <groupId>org.eclipse.linuxtools</groupId>
    <artifactId>linuxtools-parent</artifactId>
    <version>2.1.0</version>
  </parent>

  <groupId>org.eclipse.linuxtools.cdt.libhover</groupId>
  <artifactId>linuxtools-libhover-parent</artifactId>
  <version>2.1.0</version>
  <packaging>pom</packaging>

  <name>Eclipse Linux Tools Libhover Parent</name>

  <licenses>
    <license>
      <name>Eclipse Public License v1.0</name>
      <comments>
       All rights reserved.

       This program and the accompanying materials are made
       available under the terms of the Eclipse Public License v1.0
       which accompanies this distribution, and is available at
       http://www.eclipse.org/legal/epl-v10.htm
      </comments>
    </license>
  </licenses>

  <modules>

    <module>org.eclipse.linuxtools.cdt.libhover</module>
    <module>org.eclipse.linuxtools.cdt.libhover-feature</module>
    <module>org.eclipse.linuxtools.cdt.libhover.glibc</module>
    <module>org.eclipse.linuxtools.cdt.libhover.library.docs</module>
    <module>org.eclipse.linuxtools.cdt.libhover.libstdcxx</module>
    <module>org.eclipse.linuxtools.cdt.libhover.newlib</module>
    <module>org.eclipse.linuxtools.cdt.libhover.newlib-feature</module>
    <module>org.eclipse.linuxtools.cdt.libhover.devhelp</module>
    <module>org.eclipse.linuxtools.cdt.libhover.devhelp.tests</module>
    <module>org.eclipse.linuxtools.cdt.libhover.devhelp-feature</module>
  </modules>

</project>
