Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add CI to verify C++ client could be built on Windows #10387

Merged
merged 6 commits into from
Apr 26, 2021

Conversation

BewareMyPower
Copy link
Contributor

Motivation

I've seen many users have problems building Pulsar C++ client on Windows. Also there's no CI for Windows build now. After investigating on how to introduce 3rd party C++ libraries on Windows, I found vcpkg is a simple solution, which supports downloading and building dependencies from source that could avoid ABI incompatibilies.

Modifications

  • Add a vcpkg.json to specify the C++ client's dependencies. Here we can just import boost instead of boost-[component name], however, it takes much more time on my laptop.
  • Remove some unused included headers to avoid useless dependency.
  • Add a workflow to build C++ client on Windows x64.
  • Update README to give a simple introduction on how to use vcpkg to build C++ client on Windows. On the other hand, some outdated descriptions are fixed.

Verifying this change

  • Make sure that the change passes the CI checks.

This change is a trivial rework / code cleanup without any test coverage.

@merlimat merlimat added this to the 2.8.0 milestone Apr 26, 2021
@merlimat merlimat merged commit d81c16a into apache:master Apr 26, 2021
@BewareMyPower BewareMyPower deleted the bewaremypower/cpp-vcpkg-build branch April 27, 2021 02:03
codelipenghui pushed a commit that referenced this pull request Apr 27, 2021
* Add vcpkg dependencies

* Add dependencies for compression

* Add C++ client Windows build CI

* Remove redundant variables

* Update README

* Fix compile error

(cherry picked from commit d81c16a)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants