使用maven2构建基于autotools的C / C ++包

时间:2008-10-10 12:11:55

标签: c++ maven-2 build-automation autotools

我正在研究所有互操作的集合MATLAB,Java和C / C ++组件,但具有截然不同的编译/安装步骤。我们目前没有为MATLAB编译任何东西,使用maven2进行Java构建和单元测试,并使用autotools进行C / C ++构建和单元测试。

我想使用maven2将所有内容移动到单个构建和单元测试系统,但是无法找到允许C / C ++代码流保持基于autotools的插件,只需将其包装在maven中即可建立。必须撕掉autotools支持并重新创建maven中的所有依赖关系很可能是一个交易破坏者,所以我正在寻找一种方法让maven和autotools一起玩得很好,而不必在两者之间做出选择。

这是可能的还是可取的?那里有资源我忽略了吗?

2 个答案:

答案 0 :(得分:1)

我真的不知道autotools,但是你不能使用maven exec plugin来执行系统命令(或Java程序)吗?例如:

<build>
  <plugins>
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>exec-maven-plugin</artifactId>
      <executions>
        <execution>
          <id>exec-one</id>
          <phase>compile</phase>
          <configuration>
            <executable>autogen</executable>
            <arguments>
              <argument>-v</argument>
            </arguments>
          </configuration>
          <goals>
            <goal>exec</goal>
          </goals>
        </execution>

        <execution>
          <id>exec-two</id>
          <phase>compile</phase>
          <configuration>
            <executable>automake</executable>
            <arguments>
              <argument>-v</argument>
              <argument>[other arguments]</argument>
            </arguments>
          </configuration>
          <goals>
            <goal>exec</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>

我没有测试上面的pom片段,但它给你一些关于如何继续的提示。

答案 1 :(得分:1)

你确实忽略了maven cbuild parent套房。请查看“make-maven-plugin”部分了解更多详情。