Details
-
Task
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
1.1.6
-
None
-
None
-
Windows 10 (x64)
-
2018-16, 2018-17, 2018-18
Description
Currently one needs to manually build all dependent C++ libraries (libuv, snappy, boost, libxml2, libiconv, gtest etc.) and add them to their Visual Studio installation.
Efforts shall be made to automate the build of the dependent libraries for Windows and include them directly into the build process so that no manual dependency management is needed any more.
This could be done through Visual Studio's packet manager nuget, through git submodules of needed libraries or a combination of both.
Some dependent libraries weren't able to be built through cmake, but through cygwin or batch scripts. Therefore, the automation would have been more complicated.
As a result I decided to add an archive of pre-compiled dependent libraries to the documentation whose contents can be directly copied to the Visual Studio installation. This way we ensure that we use the same libraries for every build. The archive is hosted in our ColumnStore Google Drive so that we have version control as well.
I further documented how each library of the archive was acquired or built, and if our mcsapi needs the static or shared variant. This way updates of dependent libraries should be easily possible in the future.
I further changed from dynamic googletest libraries to static googletest libraries and adapted the CMake scripts accordingly.
For QA:
Built the bulk write adapter on a clean Windows 10 machine according to the documentation and run the regression test suite.