I’m working on adding a lot of new spectra types to the spectra
extension, and I need some guidance – Here’s what I’m running into:
- I’m adding the neccessary data structures as new openbabel generic
data types. These must go in OB trunk
- I’d like to implement the spectra extension end of things before OB
2.3 is released
- Avogadro depends on OB 2.2, and using functions from OB trunk will
break builds everywhere.
So I have a number of solutions, but I’d like to get some input on
what is the best course of action here.
Do some CMake magic to check for OB version (or as Marcus suggested
on IRC, just the symbols I’d need) and define something to check later
with #ifdef. I like this idea the best, but I’m not very familiar with
using CMake, an if anyone could suggest an example of something
similar, that’d help a lot! This method would also allow adventurous
users who want the functionality of DOS plotting, etc to be able to
get it by just upgrading OB.
Make a new fork that would depend on OB trunk to work on
Just put the code into a local branch on my computer and keep
everything to myself until OB 2.3 is released and the Avo dependency
I think that (1) is the best way to go, but I wanted to get a feel for
what the other devs thought about more clutter to the CMake files. Any
other suggestions than the three above are welcome!