Priority: Major - P3
Affects Version/s: None
Sprint:Storage - Ra 2021-03-22, Storage - Ra 2021-04-05, Storage - Ra 2021-04-19, Storage - Ra 2021-05-03
As a WT developer, I want to be able to compile the wiredtiger library target (libwiredtiger[.a,.so]) using CMake.
Definition of done:
- Can invoke CMake in the wiredtiger repository. This should be able to successfully configure/generate a Ninja build on:
- Linux/Darwin environments
- For supported architectures: X86_64
- For supported compilers: GCC & Clang
- Supports static and shared library builds
- Supports the different extension configurations (e.g compressors)
- Working ninja build that successfully creates a libwiredtiger[.a,.so] file
- Working libwiredtiger[.a,.so] file e.g. can link against examples and runs as expected (C, CPP and API tests coming in later task)
- Support for installation target (e.g 'make install' equivalent)
- Initial documentation on how to build library with CMake (e.g. README)
- Autoconf/Libtool build still works as expected (should co-exist in tree)
How to do?
Implement a series of CMake scripts that can configure/build/compile the wiredtiger library for our supported POSIX variants (initially POSIX; with Window support coming in a later task).
Sample CMake spike was introduced in
WT-6535 (for inspiration).