[RFC] Raise minimum required CMake version to 3.0

How are such libraries usually built? Do they link against specific .a or .lib files, or do they link against all generated .a and .libs? If the latter, then an object file build could just spit out a single mega archive at the end (by generating 1 static library which includes all object libraries). If it’s the former, and maintaining that is important, then the object library build could just be separate (similar to how we have BUILD_SHARED_LIBS we could have BUILD_OBJECT_LIBS). And that may or may not be the default build configuration. Anyway, seems like a discussion for a separate thread, just wanted to throw this feature out there since most people don’t know about it and it’s pretty useful.

Generally tools that use LLVM as a library either link specific static archives, or they combine static archives into a single shared library.

Either way having a BUILD_OBJECT_LIBS setting shouldn’t impact this and it generally seems like a good (non-default) feature to add.

Patches welcome :slight_smile: