The Cbc library requires many compiler flags that are explicitly disabled by llvm, for instance:
Although it is possible to enable them (e.g., through LLVM_ENABLE_RTTI, etc), they are probably less tested in the upstream llvm project. So, Dynamatic should not link Cbc
To avoid linking to the Cbc library, we should let our LPSolver class write the LP formulation as a .lp format, use the Cbc binary to solve it, and parse the generated *.sol back.