Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cmake 如何使用自己的构建系统配置项目(包括第三方项目)_Cmake_Autotools - Fatal编程技术网

Cmake 如何使用自己的构建系统配置项目(包括第三方项目)

Cmake 如何使用自己的构建系统配置项目(包括第三方项目),cmake,autotools,Cmake,Autotools,我有一个autotools项目,我想用自己的cmake配置添加一些第三方源代码(libsoxr)。但我不知道configure.ac和makefile.am中添加了什么 我需要执行以下命令: libsoxr/cmake -DBUILD_SHARED_LIBS=OFF libsoxr/make 然后将libsoxr/src/libsoxr.a链接到我自己的代码 有人知道这个配置吗?我碰巧遇到了同样的情况,并使用configure.ac中的宏解决了这个问题。代码的简化版本为: AC_CONFIG_

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

我需要执行以下命令:

libsoxr/cmake -DBUILD_SHARED_LIBS=OFF
libsoxr/make
然后将libsoxr/src/libsoxr.a链接到我自己的代码


有人知道这个配置吗?

我碰巧遇到了同样的情况,并使用
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
请注意,我决不是自动工具专家,因此此解决方案可能不是最干净的