cbuild/CHANGELOG.md

70 lines
2.6 KiB
Markdown

# v2.1.1
+ removed `TESTS_C` and `TESTS_CPP`
# v2.1.0
+ **config**: no more `current.config` and `default.config`, just `project.config`
+ improved version checking
+ `setup.sh` now installs each minor version in separate dicectory
+ added `bootstrap.sh` which automaticly selects cbuild version specified in project config
# v2.0.2
+ new dependency resolution system (see **config** and `example_dependency_configs`)
+ **config**: changed description of `OBJDIR`
+ **config**: added task `rebuild_dependencies`
+ added variable `TASK_ARGS` which can be used in task scripts
# v2.0.1
+ updated `.gitignore`
+ **config**: added `pwd` call to `valgrind` task
+ **config**: added `""` empty task check
# 2.0.0
+ updated setup.sh to do system-wide installation
+ deleted makefile (call `./cbuild.sh` or installed `cbuild`)
+ added command line arguments:
+ `--help`
+ `--version`
+ `--current-config`
+ `--default-config`
+ `--new-project`
+ all shebang changed to `#!/usr/bin/env bash`
+ `init.sh` became `config.sh` with function `load_config`
+ moved color variables and print functions to `myprint.sh`
# v1.7.0
+ added function `resolve_dependencies` to `link`
+ added variables `DEPS_BASEDIR` and `DEPS` to config
+ added script `rebuild_dep.sh` which can be called through `Makefile`
+ added dependency cleaning in `default_tasks/clean.sh`
+ added task `callgrind`
+ added task `no_task` which is been set in `init.sh` when `TASK` is empty
+ now `STATIC_LIB_FILE` starts with "lib"
# v1.6.0
+ `build_profile` task was split to `profile` and `gprof`
+ added task `sanitize`
+ default C++ standard set to `c++11`
+ added `INCLUDE` to `default.config`
+ moved `LINKER_ARGS` to the end of linkage command in `functions.sh` to properly link static libs
+ added function `try_delete_dir_or_file` for `clean` task
+ dead code removal in `build_exec` and `build_static_lib`
# v1.5.0
+ added task `clean`
+ added task `exec_dbg`
+ added task `build_profile`
+ added `-flto` optimization to `build_exec` task
+ added `-fprofile-use` to `build_exec` task
+ removed default configs loading in `init.sh`, now reads just line with version from `cbuild/default.config` and `default.config`
+ `OBJDIR` structure changed
+ added error on unknown task in config
+ makefile now writes logs to `make_raw.log`
+ added makefile task `fix_log`
+ new comments in scripts and Makefile
+ wrapped arguments with quots in scripts
+ now you have to add `CPP_ARGS` to `LINKER_ARGS` manually
+ added `error(msg)` function to `functions.sh`
+ replaced `printf` calls with `myprint` in scripts
+ added default `.gitignore`
+ added *.log to `.gitignore`