Releases: SanderMertens/bake
Bake 2.3
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
anddevsrc
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 tostderr
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
Bake 2.2.1
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
Bake 2.2.0
This version includes the following new features:
- Added support for template projects which can be specified with
-t
in thenew
command - Automatically uninstall all packages with errors by adding
--missing
touninstall
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
tobake new
- Rename
bake locate
tobake 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
Bake 2.1.3
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
Bake 2.1.2
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
Bake 2.1.1
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
Bake 2.1
This version includes the following new features:
- Run projects with
bake run
, and interactively run withbake 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 withSOURCES
, 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 thekeep-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
Bake 2.0.1
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
Bake 2.0
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.