Cross-platform build of Janus and pyJanus
Fixed
MinGW:
- Rename `signal.h` to `sgnl.h` to avoid namespace conflict with MinGW header (<https://github.com/mingw-w64/mingw-w64/blob/master/mingw-w64-headers/crt/signal.h>)
- Added cmake flag `-Wa,-mbig-obj` for compiling large files
macOS:
- Use `sleep()` on macOS, not `Sleep()`(<https://developer.apple.com/library/archive/documentation/System/Conceptual/ManPages_iPhoneOS/man3/sleep.3.html>)
- Use `<functional>` not `<tr1/functional>` on macOS > OS X 10.9
- Specify `std::abs` to avoid error call to 'abs' is ambiguous (<https://cplusplus.github.io/LWG/issue2192>)
- Reorder templates to prevent unqualified lookup error (<https://clang.llvm.org/compatibility.html#dep_lookup>)
- Specified ascii code for degrees symbol to prevent illegal character encoding warning (<https://www.ascii-code.com/>)
- Add `cxx_std_11` for Examples cmake
Added
- GitHub action to build on Windows MSVC, Windows MingGW, Ubuntu GCC, macOS Clang