gpt4 book ai didi

c++ - 使用 CMake 构建外部项目时作业服务器不可用

转载 作者:可可西里 更新时间:2023-11-01 18:26:19 44 4
gpt4 key购买 nike

我正在尝试使用 ExternalProject_add 在 Linux 上使用 CMake 构建一些外部项目。但是,他们不遵守 make -j12 命令,并发出警告:

‘warning: jobserver unavailable: using -j1. Add `+' to parent make rule.’

这会痛苦地减慢我的构建速度。有没有办法并行构建外部项目?这是一个示例项目:

include(ExternalProject)
ExternalProject_Add(
${TARGET_NAME}-ext
URL ${CMAKE_CURRENT_SOURCE_DIR}/xerces-c-${VERSION_XERCESC}.tar.gz
DOWNLOAD_DIR ${XERCESC_DIR}
SOURCE_DIR ${XERCESC_DIR}/src
PATCH_COMMAND chmod guo+rw ${CMAKE_CURRENT_SOURCE_DIR} -R
CONFIGURE_COMMAND ./configure --prefix=${XERCESC_DIR} --disable-shared -q --disable-network --enable-transcoder-gnuiconv --enable-msgloader-inmemory
BUILD_COMMAND make --silent
INSTALL_COMMAND make install
BUILD_IN_SOURCE 1
)

最佳答案

为了让 make 命令正确地传播给它们的 child ,你需要使用带括号(不是大括号)的 $(MAKE) 而不是 make作为您的命令,即

BUILD_COMMAND $(MAKE) --silent
INSTALL_COMMAND $(MAKE) install

从 CMake 2.8.4 版本开始支持。

关于c++ - 使用 CMake 构建外部项目时作业服务器不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33171335/

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