Download CI artifacts: list of artifacts, Windows x86, Windows x86_64.
This is a cleaned-up and refactored fork of SeaBreeze library. While the library itself have been created by Ocean Optics employees, it was in the state making it hard to properly use it. This fork contains a number of improvements. In the process of cleaning the mess mistakes and info alternation have happenned, so the commit history may not represent what the authors have meant. The software is provided AS IS, neither original authors nor any present or past mainatainers or contributors are liable for anything. You interact with the software on your own risk.
The vanilla version used to be situated by the link: https://sourceforge.net/p/seabreeze
- Cleaning the mess.
- Rebasing everything into the default branch.
- Refactoring.
- devops:
- Building using CMake.
- Building using free open-source toolchains (GCC/Clang).
- CI.
- Packaging.
- Promoting into distros.
- Accurate preservation of commit and release history. All the history has been rewritten. Some commits have been reordered. Most of the branches have been rebased into one
- Having build files in the repo that can be autogenerated.
Disclaimer:
- It can be an incomplete list of hanges.
- Commits can be marked with their original authors as commiters, though it's me who have rewritten them.
- This repo history will likely change a lot of times.
Changes to history:
-
The repo has been imported from its SVN on SourceForge and converted into git using
svn2git
. -
reposurgeon
has been used to:- set authors' information - for nice GitHub charts with avatars and links to profiles.
- convert all the files into LF line ending - to avoid merge conflicts.
- change indentation from spaces to tabs in
*.[ch](pp)
,*.cs
, CMake and some other files - to reduce size and avoid merge conflicts. - reformat using
clang-format
- to unify the style and to avoid merge conflicts. - upgrade all Doxygen files in all the commits (will be anachronic, but we don't care) - to avoid merge conflicts.
-
git-filter-repo
has been used to remove the unneeded files:Makefile
s - they can be autogenerated by CMake.Visual Studio
project files - some of them can be autogenerated by CMake, other ones are just unneeded when using CMake as a build system.WinUSB
headers - proprietary and not needed, MinGW has own free ones.- Files to make installers using Visual Studio - this format is deprecated and also caused a lot of merge conflicts, use WiX or CPack instead.
-
Some commits contain my notes about what is happenning in other branches, because in different branches the authors have made some different strong decisions IDK which choice is really better. So I have shosen some the most probably looking sensible, and added the rest as comments.
-
Different diverged branches have been rebased upon each other and commits have been reordered. And tried to be merged. Without a lot of success though - somehow conflict marks have managed to find their ways into history (it's a goal to remove it). The goal is to rewrite the history making it linear, because it is easier to rebase such history.