The library is optimized for fast compilation.
Example use cases
- Time measurements
- Colored logging
- Symbol visibility
- Basic 2D drawing shapes
- etc ...
- consume directly with find_package(utils) in a CMakeLists.txt
- Link against your target with suitable access modifier
target_link_libraries(
${PROJECT_NAME}
PUBLIC
utils::utils
)
- Example usage project: https://github.com/zhivkopetrov/dev_battle.git
- consume directly with find_package(utils) in the package CMakeLists.txt
- Link agains your target
- The library automatically exposes ans install it's artifacts following ROS1/ROS2 structure
- Example usage project: https://github.com/zhivkopetrov/robotics_v1
- cmake_helpers - https://github.com/zhivkopetrov/cmake_helpers.git
Linux:
- g++ (9.3 and above)
- Tested up to g++ 12.1
- clang++ (10 and above)
- Tested up to clang++ 14.0
- Emscripten (3.1.28 and above)
- emcc/em++
- Robot Operating System 2 (ROS2)
- Through colcon meta-build system (CMake based)
- Robot Operating System 1 (ROS1)
- Through catkin meta-build system (CMake based)
- Due to soon ROS1 end-of-life catkin builds are not actively supported
- Through catkin meta-build system (CMake based)
Windows:
- MSVC++ (14.20 and above) Visual Studio 2019
- Tested up to 17.30 Visual Studio 2022
- Emscripten (3.1.28 and above)
- emcc/em++
- NOTE: non-MSVC CMake build generator is needed
- For example: ninja
- ROS1/ROS2
- Although the code is ROS compatible, actual ROS functionalities have not been tested on Windows