This patch builds both static and shared versions of libc++abi by default. It adds/repurposes the following cmake options:
- LIBCXXABI_ENABLE_SHARED: Enable/disable building the shared library. (Previously using OFF would build the static library instead)
- LIBCXXABI_ENABLE_STATIC: Enable/disable building the static library.
This patch also re-purposes the CMake target cxxabi to be a meta-target for cxxabi_shared and cxxabi_static. This could potentially break other builds that depend on cxxabi being a library target. We will need to apply a patch to libc++'s CMake before committing this change.
Running the tests is still only supported when the shared version is built. Support for running the tests against the static library will come in another patch.
You've added the option to build static. Great, let me enable that, on Darwin. You just built it dynamically here. I think that you should either add an FATAL_ERROR message if static is used on Darwin (which I think is harsh) or support both builds on Darwin as well.