我有 autotools 项目,我想用自己的 cmake 配置添加一些第三方源代码(libsoxr)。但我不知道configure.ac 和makefile.am 添加了什么。
我需要执行以下命令:
libsoxr/cmake -DBUILD_SHARED_LIBS=OFF
libsoxr/make
然后将 libsoxr/src/libsoxr.a 链接到我自己的代码
有人知道这个配置吗?
我碰巧遇到了同样的情况,并AC_CONFIG_FILES
使用configure.ac
. 代码的简化版本是:
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
请注意,我绝不是自动工具专家,因此此解决方案可能不是最干净的。