sony / nmos-cpp

An NMOS (Networked Media Open Specifications) Registry and Node in C++ (IS-04, IS-05)
Apache License 2.0
141 stars 80 forks source link

Add build/compile-time options for some APIs? #332

Open garethsb opened 1 year ago

garethsb commented 1 year ago

Now that NMOS is expanding in several more directions, it would be good to demonstrate that nmos-cpp is not monolithic.

Suggestion: build/compile-time options that show the modularization possibilities...

In an ideal world, I would expect that using explicit build/compile-time options would make little difference to the overall code size vs. using current libnmos.a static library, since linker should be clever enough to remove unused objects... However, I know that there are some objects that will currently tie everything together, e.g. _nmos/jsonschema.cpp and _nmos/nodeserver.cpp.

Another possibility is just to show in nmos-cpp-node how to exclude the various optional APIs like IS-07 and IS-08.