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

2023-11-25

我正在尝试在 linux 上使用 CMake 构建一些外部项目ExternalProject_add。然而,他们并不尊重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命令正确传播给他们的孩子,你需要使用$(MAKE)用括号(不是大括号)代替 make 作为您的命令,即

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

从 CMake 版本 2.8.4 开始支持此功能。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 CMake 构建外部项目时作业服务器不可用 的相关文章

  • 使用 std::packaged_task/std::exception_ptr 时,线程清理程序报告数据争用

    我遇到了线程清理程序 TSan 的一些问题 抱怨某些生产代码中的数据争用 其中 std packaged task 通过将它们包装在 std function 中而移交给调度程序线程 对于这个问题 我简化了它在生产中的作用 同时触发 TSa
  • 复制 std::function 的成本有多高?

    While std function是可移动的 但在某些情况下不可能或不方便 复制它会受到重大处罚吗 它是否可能取决于捕获变量的大小 如果它是使用 lambda 表达式创建的 它依赖于实现吗 std function通常被实现为值语义 小缓
  • 复制目录内容

    我想将目录 tmp1 的内容复制到另一个目录 tmp2 tmp1 可能包含文件和其他目录 我想使用C C 复制tmp1的内容 包括模式 如果 tmp1 包含目录树 我想递归复制它们 最简单的解决方案是什么 我找到了一个解决方案来打开目录并读
  • 使用接口有什么好处?

    使用接口有什么用 我听说它用来代替多重继承 并且还可以用它来完成数据隐藏 还有其他优点吗 哪些地方使用了接口 程序员如何识别需要该接口 有什么区别explicit interface implementation and implicit
  • 由 IHttpClientFactory 注入时模拟 HttpClient 处理程序

    我创建了一个自定义库 它会自动为依赖于特定服务的 Polly 策略设置HttpClient 这是使用以下方法完成的IServiceCollection扩展方法和类型化客户端方法 一个简化的例子 public static IHttpClie
  • 在 C 中初始化变量

    我知道有时如果你不初始化int 如果打印整数 您将得到一个随机数 但将所有内容初始化为零似乎有点愚蠢 我问这个问题是因为我正在评论我的 C 项目 而且我对缩进非常直接 并且它可以完全编译 90 90 谢谢 Stackoverflow 但我想
  • 是否有实用的理由使用“if (0 == p)”而不是“if (!p)”?

    我倾向于使用逻辑非运算符来编写 if 语句 if p some code 我周围的一些人倾向于使用显式比较 因此代码如下所示 if FOO p some code 其中 FOO 是其中之一false FALSE 0 0 0 NULL etc
  • 从 Linux 内核模块中调用用户空间函数

    我正在编写一个简单的 Linux 字符设备驱动程序 以通过 I O 端口将数据输出到硬件 我有一个执行浮点运算的函数来计算硬件的正确输出 不幸的是 这意味着我需要将此函数保留在用户空间中 因为 Linux 内核不能很好地处理浮点运算 这是设
  • DbContext 和 ObjectContext 有什么区别

    From MSDN 表示工作单元和存储库模式的组合 使您能够查询数据库并将更改分组在一起 然后将这些更改作为一个单元写回存储 DbContext在概念上类似于ObjectContext 我虽然DbContext只处理与数据库的连接以及针对数
  • 如何检测表单的任何控件的变化?

    如何检测 C 中表单的任何控件的更改 由于我在一个表单上有许多控件 并且如果表单中的任何控件值发生更改 我需要禁用按钮 我正在寻找一些内置函数 事件处理程序 属性 并且不想为此创建自定义函数 不 我不知道任何时候都会触发任何事件any控制表
  • C# 中的合并运算符?

    我想我记得看到过类似的东西 三元运算符 http msdn microsoft com en us library ty67wk28 28VS 80 29 aspx在 C 中 它只有两部分 如果变量值不为空 则返回变量值 如果为空 则返回默
  • “接口”类似于 boost::bind 的语义

    我希望能够将 Java 的接口语义与 C 结合起来 起初 我用过boost signal为给定事件回调显式注册的成员函数 这非常有效 但后来我发现一些函数回调池是相关的 因此将它们抽象出来并立即注册所有实例的相关回调是有意义的 但我了解到的
  • 如何设置 log4net 每天将我的文件记录到不同的文件夹中?

    我想将每天的所有日志保存在名为 YYYYMMdd 的文件夹中 log4net 应该根据系统日期时间处理创建新文件夹 我如何设置它 我想将一天中的所有日志保存到 n 个 1MB 的文件中 我不想重写旧文件 但想真正拥有一天中的所有日志 我该如
  • 使用 C# 读取 Soap 消息

  • C++ 函数重载类似转换

    我收到一个错误 指出两个重载具有相似的转换 我尝试了太多的事情 但没有任何帮助 这是那段代码 CString GetInput int numberOfInput BOOL clearBuffer FALSE UINT timeout IN
  • 不同类型指针之间的减法[重复]

    这个问题在这里已经有答案了 我试图找到两个变量之间的内存距离 具体来说 我需要找到 char 数组和 int 之间的距离 char data 5 int a 0 printf p n p n data 5 a long int distan
  • 如何部署“SQL Server Express + EF”应用程序

    这是我第一次部署使用 SQL Server Express 数据库的应用程序 我首先使用实体 框架模型来联系数据库 我使用 Install Shield 创建了一个安装向导来安装应用程序 这些是我在目标计算机中安装应用程序所执行的步骤 安装
  • C++ 条件编译

    我有以下代码片段 ifdef DO LOG define log p record p else define log p endif void record char data 现在如果我打电话log hello world 在我的代码中
  • 无法接收 UDP Windows RT

    我正在为 Windows 8 RT 编写一个 Windows Store Metro Modern RT 应用程序 需要在端口 49030 上接收 UDP 数据包 但我似乎无法接收任何数据包 我已按照使用教程进行操作DatagramSock
  • WebSocket安全连接自签名证书

    目标是一个与用户电脑上安装的 C 应用程序交换信息的 Web 应用程序 客户端应用程序是 websocket 服务器 浏览器是 websocket 客户端 最后 用户浏览器中的 websocket 客户端通过 Angular 持久创建 并且

随机推荐

  • Python 异步任务排序

    我有一个关于python中的事件循环如何的问题asyncio模块管理未完成的任务 考虑以下代码 import asyncio asyncio coroutine def a for i in range 0 3 print a str i
  • JavaFX 中的 HTML 编辑选项

    我希望将基于 Swing 的应用程序中使用的 HTML 编辑器替换为基于 JavaFX 的编辑器 据我所知 有两种可能的选择 1 使用JavaFX HTML 编辑器 虽然这对于功能来说非常好does有 它仍然缺乏其他几个功能 例如插入图像
  • 移动应用程序的 OAuth2 流程

    我们有一个预先存在的移动应用程序 用户将注册他的用户名和密码 目前我们有一个基于自定义令牌的身份验证 我们希望在不影响用户体验的情况下切换到 OAuth2 看起来资源所有者密码凭证对我们来说是最接近的流程 但是有很多建议反对使用它们 任何其
  • 使用斯坦福 NLP 检测语言

    我想知道是否可以使用Stanford CoreNLP检测句子是用哪种语言写的 如果是这样 这些算法的精确度如何 几乎可以肯定的是 斯坦福 COreNLP 目前还没有语言识别功能 几乎 因为不存在更难证明 编辑 尽管如此 以下是间接证据 也没
  • If 语句与函数指针

    目标是根据复选框是否打开或关闭来更改事件循环中的行为 我能想到的最简单的方法就是每次运行循环时测试复选框状态 if statement void action void someLoop if checkboxTrue action oth
  • AngularJS $http 从失败的 CORS 请求返回状态代码 0

    好吧 我已经查遍了这个 基本上我们使用的是跨域请求的 http 请求 我们的服务器允许该域 当请求返回 200 时 一切正常 然而 每当我们的服务器返回错误 500 401 无论什么时候 Angular 都会认为这是 CORS 问题 我使用
  • 客户端和服务器端编程有什么区别?

    我有这个代码 为什么这不会将 bar 写入我的文本文件 而是警告 42 注意 这个问题的早期修订明确涉及服务器上的 PHP 和客户端上的 JavaScript 问题的本质和解决方案是相同的any当一种语言在客户端上运行而另一种语言在服务器上
  • 访问修饰符 - 目的是什么?

    一般来说 我对编程比较陌生 我想知道是否有人可以帮助我理解访问修饰符的目的 我知道他们为类和变量等设置了不同的访问级别 但为什么要限制对这些内容的访问权限 不允许访问不同的东西有什么意义 为什么不只允许访问所有内容呢 抱歉 如果这是一个愚蠢
  • 未使用的装配参考的成本是多少?

    我想知道在 NET 解决方案中引用程序集的各种成本是多少 我对技术和组织成本都感兴趣 一些例子 未使用的程序集包含需要传送的额外字节 下载时间更长 浪费空间 未使用的程序集可能包含可利用的安全漏洞 未使用的程序集可能会产生额外的启动成本 未
  • 使用 Selenium 和 Python 查找存在 data-tb-test-id 属性而不是 id 的元素

    我正在尝试使用 Selenium 查找元素 但没有找到 请遵循 HTML 代码 div style font size 12px font weight normal color 000000 display inline block pa
  • 如何使 D3 强制布局中的标签和节点可单击以导航到 URL?

    我正在使用 D3 使用基于力的布局 并且想知道当我单击节点或标签时是否可能会自动转到存储在该节点 标签中的 url 如果是的话 我怎样才能实现这一目标 这就是图表的实际外观 标签指示 URL 本身 我正在分享我用来生成 D3 图的 Java
  • 使用 CSS 子选择器会更快吗?

    如果我们想定位段落内的链接 哪个选择器会更有效 更快 p a or p gt a 第二个 极其 稍微快一些 CSS 由浏览器反向处理 因此您的两个规则都会在所有a页面上的元素 对于第二条规则 它只需要测试直接父级 对于另一条规则 它需要测试
  • setter 和 getter 方法是否会破坏封装? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 有人告诉我们应该避免 setter 和 getter 关于它有各种各样的想法 但根据我的说法 使用这些会破坏封装 为什么 因为它告诉世界一个物体的内部结构 例如 class Point p
  • 新的 React 应用程序安装后无法立即编译

    我已经使用 React Native 一段时间了 但我想我应该在网络上尝试 React 所以我遵循了这个指南 https reactjs org docs create a new react app html但使用后npx create
  • vi 的 splitview 上的 Linux shell (bash)

    我一直在寻找将 bash 集成到 vi 中的方法 但没有找到任何结果 如 emacs 中的功能 问题是 我用 vi 打开了 2 个视图 其中一个打开了 split命令 我想通过第二个视图使用 bash 而我正在第一个视图中编辑文件 如果我做
  • 众所周知的“进程因 StackOverflowException 而终止”屏幕是如何出现的?

    一个好奇的问题 如果当前进程的堆栈已满 如何出现众所周知的 进程因 StackOverflowException 而终止 屏幕 是运行时保存一些寄存器以使其正常降级 还是可能是一个内部技巧 可能会运行另一个临时进程来显示此屏幕 附 知道这个
  • Eclipse Spring Tools 缺少内容辅助/自动完成

    新的一年 新的问题 我正在一台 Linux 机器上工作 并且刚刚安装了一个新的 Eclipse Version Oxygen 2 Release 4 7 2 Build id 20171218 0600 JRE java version 1
  • 最佳实践:如何跟踪出站链接?

    由于请求记录在目标服务器上 而不是您的服务器上 因此如何跟踪网站的出站链接 您可以向页面添加一个快速 JQuery 脚本 该脚本将跟踪外部链接 并且可以将它们重定向到服务器上的一个文件 该文件将跟踪该链接 然后转发到该文件 或者添加一个 a
  • has_many :通过多个 has_one 关系?

    我正在为我们的教会编写一个 Rails 指导计划 我对 Rails 还很陌生 我需要对此进行建模 contact has one father class name gt Contact has one mother class name
  • 使用 CMake 构建外部项目时作业服务器不可用

    我正在尝试在 linux 上使用 CMake 构建一些外部项目ExternalProject add 然而 他们并不尊重make j12命令 并发出警告 warning jobserver unavailable using j1 Add