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.

363 questions
270
votes
5 answers

What are the differences between Autotools, Cmake and Scons?

What are the differences between Autotools, Cmake and Scons?
Wazery
  • 13,971
  • 15
  • 55
  • 91
98
votes
2 answers

When to use gradle.properties vs. settings.gradle?

A gradle build has three files build.gradle that defines the build configuration scripts gradle.properties settings.gradle Questions What are differences between settings.gradle & gradle.properties? When should a settings be put in…
ams
  • 52,592
  • 57
  • 169
  • 252
86
votes
3 answers

CMAKE_BUILD_TYPE is not being used in CMakeLists.txt

I'm having trouble setting my default build configuration to Release. In my CMakeLists.txt file, I set CMAKE_BUILD_TYPE at the top of the file with: #enable Release ALWAYS, configure vars set(CMAKE_BUILD_TYPE Release) set(EXECUTABLE_NAME…
Syntactic Fructose
  • 15,445
  • 16
  • 74
  • 158
85
votes
24 answers

Cycle inside ; building could produce unreliable results: Xcode 10 Error

I am trying to move to the new build system when compiling with Xcode 10. However, it gives following error: Cycle details: → Target 'project' : LinkStoryboards Target 'project' has compile command with input…
Sahil Kapoor
  • 10,322
  • 10
  • 57
  • 82
75
votes
4 answers

Why run 'gradle clean build' instead of 'gradle build'?

Why would I run gradle clean build instead of gradle build? From what I understand, Gradle can detect source changes and update the final artifacts if needed. So why would I still need to clean?
marius bardan
  • 4,397
  • 2
  • 26
  • 31
61
votes
2 answers

How do I convert an Autotools project to a CMake project?

So there seems to be a lot of writing on the subject of Autotools vs. CMake, but for the life of me I can't seem to find a good tutorial on how to convert a project from Autotools (Makefile.am and configure.ac files) to CMake (CMakeLists.txt files).…
Kurtis Nusbaum
  • 28,683
  • 10
  • 69
  • 97
43
votes
2 answers

cmake : Set environment variables from a script

I have a script that sets all variables needed for the cross-compilation. Here is just part of it : export CONFIG_SITE=~/workspace/eldk-5.4/powerpc/site-config-powerpc-linux export CC="powerpc-linux-gcc -m32 -mhard-float…
BЈовић
  • 57,268
  • 38
  • 158
  • 253
40
votes
1 answer

Have CMake recursively scan folders?

How do I set up CMake to recursively scan a given directory and determine the list of source files? My project is a shared library. I have a folder structure similar to this: / src/ # Source files in an arbitrary tree include/ …
Matheus Moreira
  • 15,557
  • 3
  • 59
  • 97
39
votes
5 answers

how to modify the install-path without running the configure script/cmake again

I am working on a project which takes considerable time to build (10-15) minutes. I have recompiled to verify if there is a compilation error. Now I want to change the install directory so that I have a new version of executable with the new…
A. K.
  • 26,873
  • 15
  • 44
  • 74
18
votes
4 answers

What is Boost Jam and is Jam worth migrating to?

What is Boost Jam and is Jam worth migrating to? I understand that jam is build system built by perforce however I am not sure how the boost jam & regular jam is different. I'm also hoping there could be someone in the SO community who has worked…
cbrulak
  • 14,071
  • 19
  • 56
  • 96
18
votes
2 answers

npm git repository not updating versions

I have an git repo and I'm trying to set it as a dependency in my project. Using NPM, my package.json looks like this: "devDependencies": { "grunt": "~0.4.0", "grunt-contrib-connect": "~0.2.0", "grunt-contrib-watch": "~0.3.1", "custom": …
José Leal
  • 7,589
  • 8
  • 32
  • 53
17
votes
3 answers

Why doesn't Gradle include transitive dependencies in compile / runtime classpath?

I'm learning how Gradle works, and I can't understand how it resolves a project transitive dependencies. For now, I have two projects : projectA : which has a couple of dependencies on external libraries projectB : which has only one dependency on…
Francis Toth
  • 1,445
  • 1
  • 10
  • 20
14
votes
4 answers

What build systems work with Go?

I know that the Go source comes with a Makefile (It's in $GOROOT/doc) which I am using right now, but have other popular build systems added support for Go yet? Has anyone written build scripts for scons, waf etc... What do you use to build your Go…
Isaiah
  • 4,031
  • 3
  • 22
  • 39
13
votes
2 answers

How to setup meson with Qt creator

I normally use Qt creator with cmake to program C++ projects. Lately I read quite a bit about meson and it's simplicity and I like to test it. This example explains how to setup meson. When using meson, I like however to still use Qt creators…
dani
  • 2,917
  • 3
  • 19
  • 43
13
votes
8 answers

Macro definitions for headers, where to put them?

When defining macros that headers rely on, such as _FILE_OFFSET_BITS, FUSE_USE_VERSION, _GNU_SOURCE among others, where is the best place to put them? Some possibilities I've considered include At the top of the any source files that rely on…
Matt Joiner
  • 100,604
  • 94
  • 332
  • 495
1
2 3
24 25