-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Build, Developer Productivity, OS Portability
-
None
-
Storage Engines - Foundations
-
54.741
-
None
-
None
Currently, there is no management of dependencies:
- Dependencies implied by build configuration scripts, rather than being explicitly stated
- Dependencies inconsistently included in the project: as source code, as binaries, as external projects (downloaded during build), etc..
- Dependencies expected to be found on building hosts, introducing multiple versions for the same library across builds
- Upgrading/changing dependencies takes a lot of effort and essentially trial-and-error process.
Solution:
- Introduce vcpkg as package manager for 3rd-party dependencies
- Use python as build bootstrap for CI (e.g., consistent version of CMake, SWIG, etc across builds)