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
291
votes
5 answers

What are the differences between Autotools, Cmake and Scons?

What are the differences between Autotools, Cmake and Scons?
Wazery
  • 15,394
  • 19
  • 63
  • 95
128
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
  • 60,316
  • 68
  • 200
  • 288
117
votes
31 answers

Cycle inside ; building could produce unreliable results: Xcode Error

I am trying to move to the new build system when compiling with Xcode 10. However, it gives the following error: Cycle details: → Target 'project' : LinkStoryboards Target 'project' has compile command with input…
Sahil Kapoor
  • 11,183
  • 13
  • 64
  • 87
110
votes
5 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,962
  • 4
  • 29
  • 32
110
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
  • 18,936
  • 23
  • 91
  • 177
68
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
  • 30,445
  • 13
  • 78
  • 102
53
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Јовић
  • 62,405
  • 41
  • 173
  • 273
43
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.
  • 34,395
  • 15
  • 52
  • 89
41
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
  • 17,106
  • 3
  • 68
  • 107
32
votes
5 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,989
  • 9
  • 35
  • 54
28
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,595
  • 1
  • 11
  • 23
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
  • 15,436
  • 20
  • 61
  • 101
14
votes
1 answer

CMake and Ninja - "missing and no known rule to make it"

I have this CMakeLists.txt file: cmake_minimum_required(VERSION 3.8) include(${CMAKE_CURRENT_SOURCE_DIR}/src/Something.cmake) add_executable(execute main.cpp) add_dependencies(somethingInterface Something) add_dependencies(execute…
Rox Rosales
  • 145
  • 1
  • 1
  • 6
14
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
  • 3,677
  • 4
  • 26
  • 60
14
votes
2 answers

How to force use of static library over shared?

In my SConscript I have the following line: Program("xtest", Split("main.cpp"), LIBS="mylib fltk Xft Xinerama Xext X11 m") How do I get scons to use mylib.a instead of mylib.so, while linking dynamically with the other libraries? EDIT: Looking to…
codehero
  • 157
  • 1
  • 1
  • 8
1
2 3
27 28