Questions tagged [build-system]

Build systems are software tools designed to automate the process of program compilation.

Build systems are software tools designed to automate the process of program compilation. Build systems come in various forms, and are used for a variety of software build tasks. Their primary goal is to efficiently create executables and libraries.

At their core, build systems are functional based languages mapping a set of source resources (in most cases, files) to a target (executable). The primary assumption of the build system is that each of the build actions are idempotent. That is, each invocation of a build command with the same input and options will create the same output. This assumption allows the build system to memorize the actions that is has already performed, and only perform build actions on resources that have changed.

409 questions
6
votes
1 answer

Is `meson.source_root()` the project root directory?

Is the directory return by meson.source_root() the project root directory (with the root level meson.build file) or is it the path of the current meson.build file being processed?
oz10
  • 153,307
  • 27
  • 93
  • 128
6
votes
3 answers

I find two gradle android plugin - Is there any relation between the two?

I was trying to find out how to build Android application with Gradle. To my surprise I found two references, one from jvoegele and another from Android Tools Project site. They appear to be different prima facie. So my question is why there are two…
Santanu
  • 113
  • 7
5
votes
2 answers

Yocto Dunfell error 'No recipes available for' with multiple machines in single custom meta layer

I maintain a custom Yocto meta layer compatible with Dunfell. It supports a Microchip SAMA5D27 processor based board. I have several bbappend files in this layer that apply only to file from the meta-atmel and other Microchip specific packages. Now,…
PhilBot
  • 748
  • 18
  • 85
  • 173
5
votes
0 answers

Cycle inside PROJECTNAME_Tests; building could produce unreliable results

Before asking I was looking at this question, I tried everything, but without success. I'm trying to create a private cocoapods library, but keep getting this error. Showing All Messages Cycle inside Subscriptions_Tests; building could produce…
ytpm
  • 4,962
  • 6
  • 56
  • 113
5
votes
2 answers

Correct way to handle compiler flags when using CMake

I am struggling to find a proper way to propagate correct compiler flags for all targets. Let's imagine that there is a project which contains a library and unit tests. ProjectFolder |-WorkerLibFolder |-Worker.cpp |-Worker.hpp |-CMakeLists.txt…
NwMan
  • 187
  • 1
  • 2
  • 10
5
votes
1 answer

Executing buildsteps in buildbot on other clients

I am trying to find out if I can execute certain buildsteps on another machine than the build client in the same build. For instance, one path of the build process includes that the final zip should just be packaged if 2 other machines did run…
Daniel Stephens
  • 2,371
  • 8
  • 34
  • 86
5
votes
1 answer

DESTDIR vs prefix options in a build system?

Can someone explain me the purpose of a $(DESTDIR) variable in a build system? I mean that I know that it points a temporary directory for currently installed package, but I can not imagine what is practical use of it. To clarify, well, I know what…
user7969519
5
votes
1 answer

In meson build, can you set the working directory for unit tests?

In a meson build, is it possible to set the working directory before executing unit tests? It uses ninja by default to run the tests, so perhaps there's an option you can pass to ninja to set the directory? Why I'm asking is sometimes unit tests…
oz10
  • 153,307
  • 27
  • 93
  • 128
5
votes
6 answers

A good strategy for implementing a versioning system

I have been struggling with versioning software for a while now. I'm not talking about a naming convention, I'm talking about how to actually apply a version in a build system all the way through to a release. I generally use…
jdoklovic
  • 146
  • 3
  • 6
5
votes
1 answer

Requiring exported CMake targets within the exporting build tree

I have a CMake Project Foobar that contains a subdirectory examples that can also be used as a stand-alone CMake build. To do that this sub-directory performs a find_package(Foobar) and uses the exported targets. Foobar provides a…
pmr
  • 58,701
  • 10
  • 113
  • 156
5
votes
6 answers

Configure Sublime Text build system for Scala?

I'm trying to configure a build system for Scala with SublimeText, but I am having some difficulty. I have tried both of the following: { "shell_cmd": "scala", "working_dir": "${project_path:${folder}}", "selector": "source.scala" } { …
Kvass
  • 8,294
  • 12
  • 65
  • 108
5
votes
1 answer

Grunt usemin failing to insert rev'd image paths into jade partials

I'm using a stock yeoman angular-fullstack generator - this problem occurs when executing grunt serve:dist. Images are successfully rev'd, but the updated image paths are not added to any of the jade views. The usemin block: usemin: { html: ['<%=…
max
  • 617
  • 8
  • 20
5
votes
3 answers

Sublime Text Build System with multiple commands

First off I would like to say that I am new to sublime text editor and I love it. I have no experience with JSON, however it does not seem difficult at all. I am trying to write a build system that will call a bash script that will move a makefile…
Jesse
  • 901
  • 1
  • 9
  • 25
5
votes
2 answers

HTML Build system in Sublime Text 2

I'm struggling to successfully build a HTML build system in Sublime Text 2. I am running Windows 7. This is the code for my build system: { "cmd": ["open", "-a", "Google Chrome", "$file"] } This is the error I recieve when I try and build a…
Hummus
  • 365
  • 1
  • 7
  • 16
5
votes
3 answers

Why does tup need one Tupfile per directory?

I've read a lot about the tup build system. In many places, it is said that tup "does not support recursive rules" and that you need to have one Tupfile per directory. Yet I have not seen an official statement or explanation. Is the above claim…
nh2
  • 24,526
  • 11
  • 79
  • 128