Move to CMake
Historically libSBML has used the standard GNU Make system for configuring and building libSBML. Project files for working with Microsoft Visual Studio have been included to faciliate building libSBML for Windows operating systems.
Upkeep of both the makefiles and MSVC project files is hampered by the variety of Operating Systems and different versions within a particular operating system. Add into the mix, the different language bindings with their own versioning and the maintenance problem increases.
SBML Level 3 introduces packages that can be optionally used to extend the scope of SBML. LibSBML is being deveopled to allow the user to optionally include the code for working with each of these packages. This has yet another implication for configuring and building the library.
It has been decided that CMake offers a viable alternative that facilitates building libSBML with whichever compilers for whatever OS a user prefers. CMake provides a GUI that lists the configuration options available; thus reducing the onus on the user to remember which options he needs.
Currently (libSBML 5.3.0) for core libSBML the GNU Make system stills works. However, if you require package code them it is necessary to use to CMake. We anticipate that we will retire the GNU Make system completely in the future but will provide alternatives that enable a user to use the configure and make commands from the command line.