问题标签 [build-system]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
345 浏览

javascript - 不冻结的 GulpJs 错误处理

我正在尝试将我的 sass 以及其他一些东西转换为 css。如果出现错误,我将无法处理 sass 转换。我可以让它告诉我,但它会挂起,我必须重新启动 gulp。我在这里和那里想念打字,我虔诚地按 ctrl+s,所以当我做的每一个其他错字都崩溃时,这真的很烦人。这是我所拥有的:

0 投票
1 回答
201 浏览

builder - 试图让 SCons Ada Builder 与 VariantDir 一起工作

我正在努力使用最后的逻辑,以使我们的 Ada 构建器与 variantdir 一起按预期工作。问题是由于工具不灵活gnatbind,并且gnatlink不允许将活页夹文件放置在当前目录以外的目录中。这给我留下了两个选择:

  • 让 gnatbind 将活页夹文件写入 topdir,然后让 gnatlink 从那里选择它。但是,如果我们希望允许为我们想要的不同架构和编译器版本进行模拟构建,这可能会导致竞争条件。
  • 在我们的例子中,修改对 gnatbind 和 gnatlink 的调用以暂时进入构建目录build/$ARCH/src-path。我成功地修复了该gnatbind步骤,因为这是使用env.ExecuteAda 构建器中的 a 显式调用的。为了尝试修复链接步骤,我修改了 Program env 使用

    env["LINKCOM"] = SCons.Action.Action(ada_linkcom)

其中ada_linkcom定义为

whereret是一个字符串,描述应该在 shell 中做什么。我需要这是一个函数,它包含一些复杂的逻辑来将路径从相对于顶级转换为只包含它们的基本名称。

然而,这scons-2.3.1/SCons/Executor.py在 function 的第 347 行失败并出现错误do_execute。不允许env["LINKCOM"]是带有ada_linkcom签名的函数吗?

0 投票
3 回答
65559 浏览

build - CMakeLists.txt 中未使用 CMAKE_BUILD_TYPE

我在将默认构建配置设置为 Release 时遇到问题。在我的 CMakeLists.txt 文件中,我在文件顶部设置了 CMAKE_BUILD_TYPE:

但是在构建我的项目并打开解决方案时,我总是看到调试模式,这与我在 CMakeLists 文件中指定的相反。我究竟做错了什么?

我已经查看了那里的其他一些问题,但我没有看到任何特定于这个问题的内容。

CMakeLists.txt的要点。

0 投票
1 回答
1113 浏览

cmake - 在导出构建树中需要导出的 CMake 目标

我有一个 CMake 项目Foobar,其中包含一个子目录,该子目录examples也可以用作独立的 CMake 构建。为此,此子目录执行 afind_package(Foobar)并使用导出的目标。Foobar提供 a FoobarConfig.cmakeFoobarConfigVersion.cmake和 aFoobarExports.cmake并且可以在没有 FindModule 的情况下使用。

代码大致如下所示:

问题是export(EXPORT FoobarExports)只会FoobarExports.cmake在生成时间结束时创建文件以确保它具有完整的FoobarExports导出集。

所以这将失败:

然而,有效的是:

如果文件尚未创建,如何在调用时强制写入文件或强制 CMake 运行两次FoobarExports.cmakeexport

0 投票
1 回答
677 浏览

android - Buck 有类似 Gradle 的构建变体和产品风格吗?

我一直在考虑将 Buck 用于一个大型项目,但我想知道是否有与 gradle 的构建变体和产品风格相当的有用的东西。

0 投票
1 回答
96 浏览

caching - 生成器未重用 SCons 缓存

我编写了 Program Builder 的一个变体,它有一个问题:它不会在应该从缓存中选择目标。

我尝试添加标志--warn=target-not-built--debug=explain但未能成功解释问题所在。

是否有任何标志或技术可以帮助我找到 Builder 不重用缓存的原因?

0 投票
2 回答
790 浏览

makefile - 如何在 Windows 上安装和使用开源库?

我想在 Windows 上使用开源库。(例如:Aquila,遵循http://aquila-dsp.org/articles/iteration-over-wave-file-data-revisited/)但我对“构建系统”一无所知......每个人都说喜欢, “解压缩 tar,配置,制作,制作文件”在 Linux 上,但我想在 Windows 上使用它们。有几个问题。

i) 为什么我必须为源代码“安装”?为什么我不能通过将这些头文件复制到工作目录并抛出 #include ".\aquila\global.h" 来使用它们?

ii) 什么是配置和制作/制作安装?我无法理解他们。我只知道用Windows配置开源需要“CMake”,它是配置工具......但它实际上是做什么的?

iii)虽然我已经完成了:cmake,mingw32-make,mingw32-make install... 我的编译器说“未定义的引用...”。这意味着什么,我应该如何处理它们?

0 投票
3 回答
1142 浏览

windows - Visual Studio 是否支持将 MSBuild 任务添加到项目中?

我正在尝试将一些简单的 MSBuild 任务添加到 Visual Studio 项目(VS 2012 Express)中 - 具体来说,创建一个子目录,然后将一些文件复制到输出目录的子目录中,以便打包。

我看到 VS 支持自定义构建步骤,它们是命令行调用。但是,由于 VS 基于 MSBuild,因此应该可以将这些直接添加为MSBuild 任务,例如AfterBuild 预定义目标的 Copy Task

我找不到在 Visual Studio 框架内实际添加此类任务的任何方法。该文档仅从 MSBuild 的角度讨论它,而不是它在 Visual Studio 的 UI中的工作方式。它似乎也没有讨论那里引用构建输出等的属性;大概它们只是 msbuild its self 使用的那些

Visual Studio 的 UI 中是否支持 MSBuild 任务管理,而它只是从我的 Express 版中删除了?还是我必须破解项目文件 XML 才能添加 MSBuild 任务?这是否受支持以及应该以何种方式完成?

我习惯使用 Eclipse 和 Ant 或 Maven,IDE 支持所有这些,当然您可以直接破解 XML。在 Visual Studio 中根本找不到用于 MSBuild 任务管理的 UI,这非常令人困惑。使用免费赠品版我是否错过了明显的或残废的?

0 投票
2 回答
1976 浏览

makefile - How do I force a target to be rebuilt if a variable is set?

Assume I have a build-target foo:

Now, ARGS is something that I pass on the command line:

So, I need to bypass make's cleverness, because the foo target does not only depend on which files have changed, but also on the value of ARGS.

Is there something in make to do this? My hack (see answer) doesn't seem to be the most elegant but it works. Anything better?

0 投票
3 回答
3719 浏览

makefile - 在 Xcode 8.2.1 中创建 Xcode 项目模板

     如何在 Xcode 8.2.1 中创建项目模板?我之所以问这个问题是因为我想如何使用这样一个项目模板作为许多 Xcode 项目的基础,这些项目我很可能会在Bjarne Stroustrup 的Programming: Principles and Practices Using中学习如何用 C++ 编程的过程中创建这些项目C++,第二版。Stroustrup 先生为他的读者提供了几个头文件,我已经将它们复制到本书的基本网站的 GitHub 存储库中,我想弄清楚如何将它们链接到 Xcode 的构建系统中。      有人创建了一个makefile 用于 OS X 的 Darwin 基础
,但我宁愿能够使用 Xcode,这样我就可以在学习 C++ 的同时学习如何使用它,以便我知道如何在以后的项目中使用它。我不知道我是否应该使用这个 makefile,但 Apple 确实提供了关于“使用 Xcode 构建 Makefile 项目”的说明,那么我应该使用这些吗?我还注意到其他人在此处此处此处此处也有类似的问题,关于如何为旧版本的 Xcode 创建项目模板。这些 Stack Overflow 帖子中的任何材料是否会通过为我的潜在回答者或回答者提供一些用于研究的源材料来帮助他们?