Changelog
Version 0.11.0 (2022-09-04)
- Added
embed pyyaml
add value ‘all’ for variable ‘for’ in the ‘byfilter’ parameter
add buildconf parameter export-* for libpath, stlibpath and all *flags
add the ‘cleanall’ command as replacement for the ‘distclean’ command
remake/improve/extend substitutions (buildconf variables inside a text)
add some syntactic sugar for buildconf
get rid of ${TARGET} and rewrite substitution of ${SRC} and ${TGT}
add ability to use ‘and’, ‘or’ and ‘not’ in the ‘*.select’
add ‘host-os’ and ‘distro’ for the ‘*.select’ conditions
add ‘if’ for the ‘byfilter’ parameter
add the ‘run’ command
support qt5 for c++ (almost done) #31
enable absolute paths in path patterns
add runtime lib paths for the ‘run’ command and for the ‘run’ feature
support python 3.10
- Changed
update waf to 2.0.23
fix bug with auto detection of interpreter in ‘runcmd’
rename ‘include’ to ‘incl’ and ‘exclude’ to ‘excl’ for buildconf parameter ‘source’
rename buildconf parameter ‘matrix’ to ‘byfilter’
rename ‘export-config-actions’ to ‘export-config-results’
rename buildconf parameter ‘config-actions’ to ‘configure’
remake and improve the buildconf parameters ‘export-*’
prioritize yaml buildconf format
fix bug of no automatic reconfiguration with changed env/cli args for install/uninstall
rename buildconf ‘features’ to ‘general’
fix bug with ‘enabled.select’
improve buildconf validator
extend/improve install directory vars
fix problem when not all values from buildconf.cliopts have effect
fix order of reading config values from env, cli and config file
fix terminal width detection in CLI
improve system libraries detection
fix bug when zenmake could not find toolchain from sys env vars like CC, CXX, etc
fix problem with found zero-byte executables (mostly windows problem)
fix problem with short file names (8.3 filename) on windows
fix bug when getting rid of CXX in cmd line does not induce reconfigure
make stop child procces in the ‘run’ command on keyboard interrupt
many other fixes
- Removed
drop python 2.x, 3.4 and pypy
remove task features aliases: more problems than profits
remove redundant ‘default-buildtype’ parameter
remove the ‘platforms’ parameter
Version 0.10.0 (2020-09-23)
- Added
support Fortran language
add basic D language support
add selectable parameters for buildconf task parameters
support external dependencies
add ‘tryall’ and ‘after’/’before’ for parallel configuration actions
add correct buildconf validation for nested types
add configuration action ‘call-pyfunc’ (‘check-by-pyfunc’) to parallel actions
add configuration action ‘check-code’
add configuration actions ‘pkgconfig’ and ‘toolconfig’ (support pkg-config and other *-config tools)
add configuration action ‘find-file’
add ‘remove-defines’ for configuration action ‘write-config-header’
add option to add extra files to monitor (‘monitor-files’)
add buildconf task parameters ‘stlibs’ and ‘stlibpath’
add buildconf task parameters ‘monitlibs’ and ‘monitstlibs’
add buildconf task parameter ‘export-config-actions’
add buildconf task parameter ‘enabled’
add buildconf task parameter ‘group-dependent-tasks’
add add buildconf task parameter ‘install-files’
add parameter ‘build-work-dir-name’ to buildconf ‘features’
add simplified form of patterns using for buildconf task parameter ‘source’
add custom substitution variables
add detection of msvc, gfortran, ifort and D compilers for command ‘sysinfo’
add number of CPUs for command ‘sysinfo’
add ‘not-for’ condition for config var ‘matrix’
add ability to set compiler flags in buildconf parameter ‘toolchains’
add ability to use ‘run’ in buildconf as a string or function
add cdmline options –verbose-configure (-A) and –verbose-build (-B)
add cmdline option ‘–force-edeps’
add c++ demo project with boost libraries
add demo project with luac
add demo project with ‘strip’ utility on linux
add demo project with dbus-binding-tool
add demo projects for gtk3
add demo project for sdl2
add codegen demo project
- Changed
improve support of spaces in values (paths, etc)
improve unicode support
use sha1 by default for hashes
correct some english text in documentation
detach build obj files from target files
remove locks in parallel configuration actions
small optimization of configuration actions
improve validation for parallel configuration actions
improve error handling for configuration actions with python funcs
improve buildconf errors handling
improve use of buildconf parameter ‘project.version’
remake/improve handling of cache/db files (see buildconf parameter ‘db-format’)
reduce size of zenmake.pyz by ignoring some unused waf modules
apply solution from waf issue 2272 to fix max path limit on windows with msvc
rename ‘–build-tests’ to ‘–with-tests’, enable it for ‘configure’ and add ability to use -t and -T as flags
rename ‘sys-lib-path’ to ‘libpath’ and fix bug with incorrect value
rename ‘sys-libs’ to ‘libs’
rename ‘conftests’ to ‘config-actions’
rename config action ‘check-programs’ to ‘find-program’ and change behaviour
make ordered configuration actions
disable ‘:’ in task names
refactor code to support task features in separated python modules
don’t merge buildconf parameter ‘project’ in sub buildconfs (see ‘subdirs’)
fix bug with toolchain supported more than one language
fix some bugs with env vars
fix compiling problem with the same files in different tasks
fix bug with object file indexes
fix command ‘clean’ for case when build dir is symlink
fix Waf bug of broken ‘vnum’ for some toolchains
fix parsing of cmd line in ‘runcmd’ on windows
fix processing of destdir, prefix, bindir, libdir
- Removed
remove configuration action (test) ‘check’
Version 0.9.0 (2019-12-10)
- Added
add config parameter ‘startdir’
add config parameter ‘subdirs’ to support sub configs
add ‘buildroot’ as the command-line arg and the environment variable
print header with some project info
add parallel configuration tests
- Changed
fix default command-line command
fix problem of too long paths in configuration tests on Windows
fix some small bugs in configuration tests
rid of the wscript file during building
improve buildconf validator
improve checking of the task features
update Waf to version 2.0.19
- Removed
remove config parameters ‘project.root’ and ‘srcroot’