Releases: Electrux/ccp4m
Added a level of env variables supprt, multiple output fixes
No binaries, the source will be directly compiled using build.sh script.
Minor Update, resolves critical bug
This update resolves critical bug which cause failed compilation when there are multiple builds, occurred because of calling opendir
without closing it.
Minor release which improves output
Now, when any test runs, the output it generates on stdout will not be displayed and only stderr output will be displayed.
No binaries are provided for this release because they can be easily built from the previous (0.7.0) release.
A couple new features, fixes to library building - Important Update
Performance
The program, now, builds in true multithreaded fashion. Previously, although it was supposed to be multithreaded, it didn't really work like that due to how std::system works. Also, multithreading code is now cleaned to std::future and std::async.
Feature updates
- Added ccp4m project test command which should use tests directory for its sources ( for the sake of proper management, but it is up to the user ). Tests will succeed or fail depending on the return value of the main function in test source file ( 0 = succeed, anything else = fail ).
- Each build can now have its own inc_flags, lib_flags, and pre_exec command ( only used if it is binary or test build ).
- One can use vars list of maps in ccp4m.yaml to create variables which can be used by the variable names at other places.
- Static, Dynamic libraries, and binaries will now have their own compiled objects even if they have same source. That makes management much easier and enables the use of specific flags ( like -fPIC ) on particular configuration without messing up others.
Core updates
- Library builds no longer need a main source file.
- The testbin directory is now cleared by using ccp4m project clean.
- The config.yaml file will now be deleted by ccp4m clean.
Code style
All the single line loops and conditionals ( except nested ) are now in single line instead of occupying a new line.
New features people! ( And fixes to old )
This release brings a couple new features:
-cmds_only is added as an option to ccp4m project build command. Using -cmds_only, the commands will only be output on the screen and not actually be executed.
Added test subcommand to ccp4m project with test sources now ideally residing in tests directory in the project root directory, instead of the srcs directory.
The builds now have test as build_type which essentially builds a binary. The test subcommand will test the return value of the program to be zero or not. If the return value of binary is zero, test is successful, otherwise it failed.
When creating a new build, the build of type test can also be created using the option --type test in ccp4m project add build < name > sequence.
Also, Ubuntu builds are now on version 18.04.
Just minor fixes
In this release, the licenses are shifted to their own repository: ccp4m-licenses.
Also, this software is added to the AUR, adding convenience to the arch users.
Minor corrections and optimizations
This release is just about some minor corrections and optimizations that were found. However, it is highly recommended to use this build instead of the previous one.
Release binaries are built on:
MacOS 10.13.4,
Ubuntu 16.04,
Debian 9.4
Added support for creating new projects and adding builds/libraries
This build adds support for:
Creating new projects ( and respective directories / files )
Adding new builds / libraries to the projects
(--)version subcommand to fetch the version of program
Updated README to demonstrate command usages
Also, Linux is now supported and works. Tested on Debian 9 and Ubuntu 16.04.
Binaries for both of these distributions are added.
To build on a currently unsupported platform, just execute the build.sh script. It will generate the binary in bin/ directory.
This release just brings output corrections.
Primarily output corrections.
Linux support will probably work from next release.
Added license support, self cleaning, and auto source file generation
Now, one can update multiple parameters in configuration using ccp4m project set < option > < value > command format.
License support is pretty much completely added and LICENSE file is updated automatically according to the project information.
System can clear it's own directory of licenses and / or logs, as well as remove project's build files using a single command: ccp4m clean or ccp4m project clean respectively.
Also, system can create it's own source and header files using single command: ccp4m project add inc/src <filename ( without extension )>, plus, it adds necessary license information and for include files, it adds include guards.
Again, it only works correctly on macOS so release is for it only. Gladly accepting corrections for Linux.