zlib 1.2.11 has a bug on its CMakeLists.txt file which is fix in a pull request opened 8 months ago which haven't been completed. It is possible to use git submodules to point to the commit of the pull request, but the build environment of VSO fails if we do this.
To fix this, zlib is now a git subtree instead of a git submodule. From git subtree --help "Subtrees allow subprojects to be included within a subdirectory of the main project... Subtrees are not to be confused with submodules, which are meant for the same task. Unlike submodules, subtrees do not need any special constructions (like .gitmodule files or gitlinks) be present in your repository, and do not force end-users of your repository to do anything special or to understand how subtrees work. A subtree is just a subdirectory that can be committed to, branched, and merged along with your project in any way you want." Git subtree basically copies the code in your repository, but we can commit the fix we require in our repo and later on do a git subtree pull and merge any subsequent version of zlib.