SanderMertens Bake Versions Save

Bake, A build system for building, testing and running C & C++ projects

v2.3.0

5 years ago

This version includes the following new features:

  • Windows support
  • Recursive builds
  • Precompiled header support (currently only for clang)

This version contains the following improvements:

  • Changed bake output to improve readability in CI logging and Windows command prompts
  • Extended documentation with more detailed index and description of build & run commands
  • Restructure bake environment to simplify working with multiple targets/configurations
  • Added bake CI builds for Linux, MacOS and Windows
  • List available build configurations for projects in bake list
  • When uninstalling projects, uninstall from all build configurations
  • Introduce bake cleanup command, which replaces bake uninstall missing
  • Always install bake plugins to bake environment root (instead of installing to a target)
  • Improved command line interface for creating templates with --template
  • Initialize new template projects with template functions in locations of project id's
  • Support for uninstalling templates, by adding --template to the uninstall command
  • Improved debug tracing in various commands, and dump contents of bake environment in debug mode
  • Add --debug command line option
  • Renamed ${id short} to ${id base}
  • Prefix example project identifiers with example and language
  • Renamed bake executable so that by default the bake shell script is executed, even for local installations
  • Added the file target to the bake driver API for specifying file targets that are generated during the build
  • Added template, src and devsrc arguments to ${locate} template function
  • Added driver-attr template function for using driver attributes in template functions
  • Allow template functions to be used in rule patterns
  • Cleanup util main header (remove legacy definitions from before the fork)
  • Improve logging when attributes cannot be found in the driver-specific configuration
  • Moved functionality for managing bake environment to util library, improved API
  • Improve robustness of ut_file_load function
  • Log messages by default to stdout, and only warnings and errors to stderr

This version contains the following bugfixes:

  • Fix issues with supporting clang on Linux
  • Disable LTO on clang/Linux as the LTO plugin cannot always be found
  • Fix issue in ut_dir_iter when pattern matches a single file
  • Many more bugfixes related to porting bake to Windows

v2.2.1

5 years ago

This version includes the following new features:

  • No new features

This version contains the following improvements:

  • Use default values for release configuration, even when no configuration file is found
  • Add timespec_measure function to bake.util
  • Improve error message when trying to use template functions at root of project.json file

This version contains the following bugfixes:

  • Fix missing line endings in generated .gitignore
  • Fix typo that prevented bake from locating include paths

v2.2.0

5 years ago

This version includes the following new features:

  • Added support for template projects which can be specified with -t in the new command
  • Automatically uninstall all packages with errors by adding --missing to uninstall command
  • Add new "id" template function which returns variations on the project id

This version contains the following improvements:

  • Don't build bake with bake
  • Skip projects with invalid build configurations
  • Add command line help for "foreach" command
  • Improve error reporting in uninstall command
  • Rename bake init to bake new
  • Rename bake locate to bake info
  • Improve output of bake list

This version contains the following bugfixes:

  • Fix crash when uninstall was invoked on non-existing project
  • Always link bake executable with correct libraries
  • Fix bug with recursively copying directories

v2.1.3

5 years ago

This version includes the following new features:

  • No new features

This version contains the following improvements:

  • No new improvements

This version contains the following bugfixes:

  • Fix library dependencies of bake.util project

v2.1.2

5 years ago

This version includes the following new features:

  • No new features

This version contains the following improvements:

  • Install projects in "libraries" to BAKE_HOME
  • bake list no longer throws an error if the BAKE_TARGET path cannot be found
  • Always clone projects if source cannot be located

This version contains the following bugfixes:

  • Fix crash when driver for project cannot be found during project discovery
  • Fix compiler error on ARM
  • Fixed bug where bake clone would not try to find dependencies of local projects
  • Fixed issue with include paths that have environment variables

v2.1.1

5 years ago

This version includes the following new features:

  • No new features

This version contains the following improvements:

  • Add --strict and --optimize command line options
  • Fix compiler warnings in bake.util when using strict compiler flags
  • Pass bake environment and config to child processes
  • Don't fail setup when copying bake script to /usr/local fails

This version contains the following bugfixes:

  • Fix compiler errors on Android where code was treating va_list as scalar
  • Fixed discovery bug where an rbtree was modified while it was being iterated
  • Fixed crash when specifying an invalid path on the command line
  • Fixed crash when specifying a URL to a non-bake git repository
  • Fix detection of ARM architectures in ut_os_match

v2.1.0

5 years ago

This version includes the following new features:

  • Run projects with bake run, and interactively run with bake run --interactive
  • Run a shell command for each discovered project with bake foreach
  • Add use, exists, lookup, ignore_path to the driver API
  • Add bake locate to find and diagnose projects in the bake environment
  • Add bake list command to list & filter projects in the bake environment
  • Implement bake uninstall to remove projects from bake environment
  • Add prebuild and postbuild stages to driver API
  • Automatically install out-of-the-box library configurations in "libraries" path
  • Allow for comments in configuration files

This version contains the following improvements:

  • Initialize new bake packages by specifying --package to bake init
  • Fixed typos in the documentation
  • Fixed typo in the generated bake_config.h header file
  • Improved command line help
  • Improved error checking
  • Improve error handling when driver loading fails
  • GENERATED-SOURCES is now reevaluated when building and merged with SOURCES, so that generated files are automatically included in the build
  • Support locating static libraries with ut_locate
  • Improved performance of ut_dir_iter when using filter, by changing the working directory to the static part of the filter expression
  • Improve usage of colors in terminal
  • Add libraries to link with to end of link command, so all unresolved symbols are known
  • Don't clean bake_config.h
  • Don't discover projects in hidden folders
  • Improve keep-binary behavior, by only cleaning the binary when explicitly rebuilding only the keep-binary project
  • Fixed typo in bake upgrade
  • Add new examples
  • Add ut_locate_reset function which clears bake locate cache
  • Improve dependency resolution, especially for projects generated during the build
  • Improve detection of ARM CPUs
  • Use lowercase v for creating version tags

This version contains the following bugfixes:

  • The bake script is now always ran by bash, even when invoked from another shell
  • Fixed bugs where get/set attribute functions in the driver API could crash
  • Fixed problem with passing arguments from bake shell script to bake executable
  • Fixed problems with ut_dir_iter not correctly returning the correct relative path
  • Fix crash in ut_throw
  • Fix problem with locating application binaries
  • Fix crash caused by the project artefact not being set
  • Fix bug where driver API was invoked on wrong driver
  • Fix bug where relative include paths were not correctly added
  • Fixed issues with linking static libraries
  • Fixed issues with nested project identifiers and bake init
  • Fixed issue where cpp-standard was sometimes not set
  • Fixed bug in expression parser where the '.' character was not correctly parsed
  • Fix problem where execinfo.h could not be found on Android

2.0.1

5 years ago

Bake 2.0.1 includes:

  • a C++ driver & example
  • configure compiler through CC and CXX environment variables
  • updated documentation
  • Allow drivers to import definitions from other drivers

The version also includes a number of bugfixes and improvements:

  • Fix bug in ut_proc_cmd function in bake.util library, where it incorrectly parsed command strings with quotes
  • Do not copy binary to $BAKE_TARGET when nothing was built, unless it was not found in $BAKE_TARGET
  • Only load drivers once
  • Don't attempt to install binary for projects that specify "none" for language
  • Use $(uname) name in directories with bake makefiles

2.0.0

5 years ago

Fork from cortoproject/bake.

The core has been redesigned with a more modular architecture so projects can load multiple drivers that build & generate code.

The package management has been simplified, with packages now no longer being stored in recursive directory, which simplifies installing/uninstalling projects.

Bake now integrates with git, and can clone and build a project automatically, while also cloning and building the project dependencies. Features have also been added to upgrade bake automatically, update bake projects to their latest version, and publish new project versions by automatically adding git tags to the repository.