v0.1.0
This release includes the following CMake projects: cmake_utils
and cpp_utils
.
This release includes the following features in cmake_utils
project:
- Compilation macros:
compile_documentation
,compile_library
,compile_test_library
,compile_test_documentation
,compile_test_tool
,compile_tool
, andconfigure_test_flags
. - C++ common macros:
check_cpp
,check_cpp_17
,set_cmake_build_type
,activate_code_coverage
,configure_project_cpp
,custom_cpp_flags
,find_external_projects
, andfind_thirdparties_headeronly
. - Packaging macros:
eprosima_packaging
,install_resources
, andeprosima_install_resources
. - Project specific macros:
configure_project
,set_installation_paths
,load_project_settings
,read_commit_hash
,read_version
, andconfigure_cmake_options
. - Test specific macros and functions:
test_requirements
,add_test_executable
,add_unittest_executable
,add_blackbox_executable
,all_library_sources
, andall_header_sources
.
This release includes the following features in cpp_utils
project:
- Event handler: interface to implement a handler of any kind of event.
- File watcher handler: detect changes in a given file.
- Logging event handler: implement the functionality to raise callback every time a logging message is consumed.
- Logging severe event handler: consume the log event handler events that are above a given threshold.
- Multiple event handler: encapsulate multiple event handlers.
- Periodic event handler: raise an event periodically with a specific time period.
- Signal event handler: raise a callback each time the signal specified in received.
- Signal manager: manage a specific signal given by a template specialization.
- Exceptions: allow to raise an exception of the following kinds: ConfigurationException, DisabledException, DNSException, IncosistencyException, InitializationException, TimeoutException, UnsupportedException, ValueAccessException, ValueNotAllowedException.
- Create custom enumerations.
- Math functionalities.
- OwnerPtr and LesseePtr: smart pointer with some extra functionalities.
- Thread pool implementation.
- Timer utilities.
- Atomicable and SharedAtomicable types: join any type value and mutex/shared_mutex together for commodity and readability.
- Wait handlers: allow to make multiple threads wait until another thread awakes them. The currently available event handlers are: BooleanWaitHandler, ConsumerWaitHandler, CounterWaitHandler, DBQueueWaitHandler*, and IntWaitHandler.
- Formatter utility: auxiliary function to concatenate inplace every kind of object
<<
stream. - Logging module: Fast DDS logging module.
- Return codes: enumeration for different method return statements.
- Other generic cpp utils functions.
This release includes the following Continuous-Integration features:
- GitHub actions to validate the utils implementation.