gpt4 book ai didi

cmake - 如何在 externalproject_add 中设置命令参数

转载 作者:行者123 更新时间:2023-12-05 08:11:58 26 4
gpt4 key购买 nike

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

我加了

externalproject_add(zlib
PREFIX .
# download step
GIT_REPOSITORY git@github.com:madler/zlib.git
GIT_TAG v1.2.8
# configure step
SOURCE_DIR zlib
CONFIGURE_COMMAND ${CMAKE_SOURCE_DIR}/build/zlib/zlib/configure --archs="-arch ${ARCH}" --static
# build step
BUILD_COMMAND make
BUILD_IN_SOURCE 1
# install step
INSTALL_DIR zlib-${ARCH}
INSTALL_COMMAND make install
# logging
LOG_CONFIGURE 1
LOG_BUILD 1
LOG_INSTALL 1
)

但它会生成这样的配置命令:

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

我认为引用不当。

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

最佳答案

双引号防止字符串被拆分。我还将至少将 ${ARCH_PARAMS} 参数分离到单独的变量中,因此,您会有这样的东西:

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

所以,它会这样通过:

'/tmp/so_test/build/zlib/zlib/configure' '--archs='-arch x64_86'' '--static'

旁注,zlib 配置接缝有点可疑,因为它一直提示编译器错误报告:

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

Checking for gcc...

Compiler error reporting is too harsh for ./configure (perhaps remove -Werror).

** ./configure aborting.

相关问题:

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

关于cmake - 如何在 externalproject_add 中设置命令参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41099029/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com