Releases: abdes/asap
v4.8.1
v4.8.0
4.8.0 (2025-06-01)
Features
- add GitHub Actions workflow for release-please automation (69d96da)
- customize release-please workflow (b3504fb)
- customize release-please workflow to update versions (c4921d6)
- support for qualified module names (0c01c12)
- use pre-commit instead of husky (551e1a1)
Bug Fixes
- add .python-version to .gitignore (9c8957c)
- add 'Ninja' generator to macos-builds workflow (32bcb28)
- allow project options to be overriden from master projects or command line (2812446)
- api export generated header does not respect project layout (571ac3f)
- create .clangd only if it does not exists (8942178)
- enable docs build for pages (010fc52)
- generate version numbers as numbers (b3491d1)
- honor the options to disable doc, docygen, sphinx (2d66564)
- main.cpp generation fails when multiple build configs are running (e7eb314)
- remove unnecessary esbonio settings (5f5ada2)
- remove Xcode generator from macos-builds workflow (fde6a3b)
- remove Xcode setup step from macos-builds workflow (a97b42a)
- sphinx generation targets not properly setup (a06b9a1)
- update actions to latest versions in workflows (dac90de)
- update branch name from main to master in release workflow (802960e)
- update GitHub Actions to use latest versions of actions and Python (52c983d)
- update GitHub Actions to use latest versions of actions and Python (40cc904)
- update macos workflow and fix issues (7575f81)
- update Xcode versions in macos-builds workflow (f93fc1f)
- use swift common for clang format/tidy and gersemi for cmake format (dc22af9)
Release 4.7.0
Features
- add build option to enable or disable docs targets (481c240)
- comprehensive macos builds for CI (084ae86)
- comprehensive ubuntu builds for CI (27fce46)
- comprehensive windows builds for CI (e46196f)
- custom index.html should be optional in project doc root (9f906fd)
- upgrade CPM to 0.38.1 (b333b38)
Bug Fixes
- always include CTest even when ASAP_BUILD_TESTS is OFF (4c5ef88)
Documentation
Release v4.6.3
Release v4.6.2
Features
-
increase ccache hit rate (a22a912)
-
more robust handling of contract checking mode (304e9ae)
When linking against the contract checking and enforcement library
asap-contract(https://github.com/asap-projects/asap-contract), it is
possible to control the contract checking mode by passing a value for the
CONTRACTSoption when adding any type of target withasap_add_xxx
API (e.g. asap_add_library. asap_add_test, etc):-
CONTRACTS OFF : set contract checking mode to OFF
-
CONTRACTS AUDIT : set contract checking mode to AUDIT
-
CONTRACTS DEFAULT : set contract checking mode to DEFAULT
-
CONTRACTS AUTO : set contract checking mode using as a first priority the
value passed in the cmake optionOPTION_CONTRACT_MODE. If none is present,
automatically set the mode based on the build configuration. For Debug ->
AUDIT, For Release and RelMinSize -> OFF, and for RelWithDebInfo -> DEFAULT. -
CONTRACTS TESTING : indicates that contracts are being testing and the
target needs to have full control on the contract checking mode. Nothing
will be done here.
The default setting is AUTO.
-
Bug Fixes
-
build: #21 target option
WARNINGnot propagated properly (432cdaf)By default, for every target we build, a compiler option will be added
to treat warnings as errors, unless the target is added withWARNINGas
an option.When that option is used, we now properly propagate it to set the
corresponding compiler option to NOT treat warnings as errors.This is useful when 3rd party dependencies have include files that
generate warnings.
Release v4.6.1
Release v4.6.0
Features
-
More robust implementation of fatser builds with
ccacheoption to control the use of ccache, default is OFF (49a17a9)
Caching is enabled in GitHub CI builds and can be enabled in development environments by simply setting the cmake variable
USE_CCACHEto 'ON'/'TRUE' or equivalent.A precondition for the environment is of course to have
ccacheinstalled which gets done automatically in GitHub workflows, but needs to be done in development environments. It is recommended to use brew/choco for MacOS/Windows, but to install from the pre-built binaries for Linux as the version that comes with most distros is quite old.It is to be noted that
ccachewith MSVC on Windows may have some issues and if that is the case, simply do not use it.
Release v4.5.2
Bug Fixes
- sub-projects with tests fail due to coverage all target not being setup early enough (400b2cc)
Release v4.5.1
Release v4.5.0
Features
-
version-infotoolAdd the
version-infotool to print the project info (cb228e8)This tool uses the generated
version.hfile in a small C++ program
to print the project's info, as defined in the project's master
CMakeLists.txt.It also constitutes an example of how to use the
version.hfile and
a simple test to check that theasapinfrastructure for defining and
building targets is working. -
More visibility on project/module nesting
Enhance configure logs with project/module nesting hierarchy
(f6c13f2)Track the projects/modules nesting level with a hierarchy stack updated
when we enter/exit a project/module. Most of the management is done
automatically as helper functions get called to add modules or external
packages. Some of the boilerplate (minimal) is still manual:- In the top-level
CMakeLists.txt, the project needs to pushed at the
beginning and popped at the end. - In each module
CMakeLists.txt, the module needs to be pushed at
the start and popped at the end.
Use the
ASAP_LOG_PROJECT_HIERARCHYto get a string that contains
the nesting hierarchy. - In the top-level
-
Formatting
Implement robust project-wide formatting (afcaebe)
Now we can format cmake files with cmake-format and any of the file
types supported by clang-format (including C++, JavaScript and Json)
with clang-format.The following additional targets are defined:
- format Shows which files are affected by clang-format
- check-format errors if files are affected by clang-format (for CI)
- fix-format Applies clang-format to all affected files
Dedicated targets for each of
cmake-formatandclang-format
are also added (e.g. cmake-format, clang-format, check-clang-format,...)
Bug Fixes
- generated
version.hshould follow project naming (329bcdf) - install master project generated header files (3c5c162)