【问题标题】:How to configure project including third-party project with its own build system如何使用自己的构建系统配置项目,包括第三方项目
【发布时间】:2013-08-12 11:50:13
【问题描述】:

我有 autotools 项目,我想用自己的 cmake 配置添加一些第三方源代码 (libsoxr)。但我不知道configure.ac 和makefile.am 添加了什么。

我需要执行以下命令:

libsoxr/cmake -DBUILD_SHARED_LIBS=OFF
libsoxr/make

然后将 libsoxr/src/libsoxr.a 链接到我自己的代码

有人知道这个配置吗?

【问题讨论】:

    标签: cmake autotools


    【解决方案1】:

    我碰巧遇到了同样的情况,并使用configure.ac 中的AC_CONFIG_FILES 宏解决了这个问题。代码的简化版本是:

    AC_CONFIG_FILES(mylib-build/Makefile:mylib/CMakeLists.txt,
      mkdir -p mylib-build ; cd mylib-build ;
      cmake \
      -DCMAKE_INSTALL_PREFIX=$prefix \
      -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE \
      ${srcdir}/mylib ; 
      if [test $? != 0 ] ; 
      then 
        AC_MSG_ERROR([mylib: Cmake configuration failed. Check the error message above.])
      fi 
      cd ..
      , prefix=$prefix CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE
    )
    

    在Makefile.am 我刚刚添加了mylib-build 作为子目录:

    SUBDIRS = mylib-build
    

    请注意,我绝不是自动工具专家,因此此解决方案可能不是最干净的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-29
      • 2011-03-08
      • 1970-01-01
      • 1970-01-01
      • 2013-10-01
      • 1970-01-01
      • 2013-09-19
      • 2020-03-16
      相关资源
      最近更新 更多