openvdb
openvdb copied to clipboard
CMake Object Libraries
This is a work-in-progress draft of implementing CMake object libraries which we previously couldn't do until we were using at least CMake 3.12. It wasn't as easy as I had hoped, so looking for early feedback that this is the correct approach and then I'll tackle the rest of the library. This has two main goals:
- To avoid compiling the same object files for both static and shared libraries which is wasteful (doesn't apply to Windows).
- To remove the synchronization points after each target, so that all source file compilation can happen concurrently. This avoids multiple long tails of compilation happening for each target to result in faster overall compilation throughput.