如何在externalproject_add中设置命令参数

时间:2016-12-12 10:44:06

标签: cmake external-project

我想创建一个cmake脚本来在我的项目中自动构建zlib。

我添加了

'/Users/david/Documents/cmake_projects/build/zlib/zlib/configure' '--archs=' '-arch' 'x86_64"' '--static"'

但它会生成如下配置命令:

$title

我认为没有正确引用。

我尝试了许多技巧,但我无法使命令工作。有什么想法吗?

1 个答案:

答案 0 :(得分:-1)

双引号可防止字符串被拆分。我还将至少${ARCH_PARAMS}参数分隔为单独的变量,因此,您有类似这样的内容:

set(ARCH_PARAMS "--archs='-arch ${ARCH}'")
...
...
CONFIGURE_COMMAND ${CMAKE_SOURCE_DIR}/build/zlib/zlib/configure ${ARCH_PARAMS} --static

所以,它会以这样的方式传递:

  

' / TMP / so_test /建造/ ZLIB / ZLIB /配置' ' - archs =' -arch x64_86'' ' - 静态'

在旁注中,zlib配置有点可疑,因为它一直在抱怨编译器错误报告:

  

$ ./configure --static --archs =" -arch x86_64"

     

检查gcc ...

     

编译器错误报告对于./configure来说太苛刻了(也许是删除-Werror)。

     

** ./configure aborting。

相关问题:

cmake: How to include literal double-quote in custom command?