berndporr / iir1

DSP IIR realtime filter library written in C++
http://berndporr.github.io/iir1/
MIT License
637 stars 140 forks source link

Optionally throw exceptions, and some cmake modifications #30

Closed wouterz closed 2 years ago

wouterz commented 2 years ago

Embedded / real-time systems often do not allow for exceptions to be thrown, I would like to propose this change, making exceptions optional. Exceptions are still enabled by default, but can be disabled through CMake definition flags.

Additionally I have included some changes to the CMakeLists to build only one target, as is preferred by CMake and Conan, for which I have raised an issue before. However, the repo is already successfully integrated in conan, therefore Im also willing to revert the CMakeLists update if you prefer to keep it as is

berndporr commented 2 years ago

Thanks for making exceptions optional. That makes sense. In terms of enabling only one library type that would break a lot of existing code as some people will be using the .so or the .a libraries. Otherwise they are forced to re-compile this library every time they decide to switch from .so to .a which would annoy a lot of users so: sorry!

wouterz commented 2 years ago

Thanks for accepting the PR. No problem regarding the CMake changes, maybe keep it for a major release update :). One important change that you might want to keep was was the install( ... RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} for the shared library. This had to be patched for the conan builds to succeed.

In which time-frame might I be able to expect a new version release with the updated exceptions?