如何使用自己的构建系统配置包含第三方项目的项目

时间:2013-08-12 11:50:13

标签: cmake autotools

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

我需要执行以下命令:

libsoxr/cmake -DBUILD_SHARED_LIBS=OFF
libsoxr/make

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

有人对此配置有所了解吗?

1 个答案:

答案 0 :(得分:0)

我碰巧遇到了同样的情况,并使用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

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