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

ARROW-11580: [C++] Add CMake option ARROW_DEPENDENCY_SOURCE=VCPKG #9553

Closed
wants to merge 15 commits into from

Conversation

ianmcook
Copy link
Member

@ianmcook ianmcook commented Feb 23, 2021

This builds upon ARROW-11340 and makes it simpler to use vcpkg for dependencies.

Previously, to use vcpkg it was necessary to specify:

  • -DARROW_DEPENDENCY_SOURCE=SYSTEM
  • -DCMAKE_TOOLCHAIN_FILE=/path/to/vcpkg.cmake
  • -DVCPKG_TARGET_TRIPLET=xxx-yyy-zzz
  • Various*_MSVC_* variables on Windows
  • Various *_ROOT, *_LIB, and *_INCLUDE variables in some cases
  • -D_VCPKG_INSTALLED_DIR=/path/to/vcpkg/installed/dir in some cases

Now all that is necessary is:

  • -DARROW_DEPENDENCY_SOURCE=VCPKG

Other variables are now optional and can be specified to override default behaviors.

After this is merged, I will make additional updates to the docs, focusing initially on Windows (ARROW-11336).

@github-actions
Copy link

@ianmcook
Copy link
Member Author

@github-actions crossbow submit test-build-vcpkg-win wheel-manylinux2010-cp36m wheel-windows-cp36m

@github-actions
Copy link

Revision: 17c32d4

Submitted crossbow builds: ursacomputing/crossbow @ actions-172

Task Status
test-build-vcpkg-win Github Actions
wheel-manylinux2010-cp36m Github Actions
wheel-windows-cp36m Github Actions

@ianmcook ianmcook marked this pull request as ready for review February 23, 2021 02:44
@pitrou pitrou requested a review from kou February 23, 2021 13:30
Copy link
Member

@kou kou left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(My review isn't completed yet... I'll continue later.)

cpp/CMakeLists.txt Outdated Show resolved Hide resolved
@ianmcook
Copy link
Member Author

@github-actions crossbow submit test-build-vcpkg-win wheel-manylinux2010-cp36m wheel-windows-cp36m

@github-actions
Copy link

Revision: f5c21b3

Submitted crossbow builds: ursacomputing/crossbow @ actions-173

Task Status
test-build-vcpkg-win Github Actions
wheel-manylinux2010-cp36m Github Actions
wheel-windows-cp36m Github Actions

run-cmake-format.py Outdated Show resolved Hide resolved
@ianmcook
Copy link
Member Author

ianmcook commented Feb 26, 2021

FYI, I have not attempted to thoroughly test and fix debug builds with vcpkg-installed dependencies, but I plan to do that in ARROW-11796.

@ianmcook
Copy link
Member Author

ianmcook commented Mar 4, 2021

@kou let me know if there is anything I can do to help you complete your review. Thank you!

Copy link
Member

@kou kou left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It almost looks good to me!
I'm not sure many CACHE are really needed.

cpp/cmake_modules/Usevcpkg.cmake Outdated Show resolved Hide resolved
cpp/cmake_modules/Usevcpkg.cmake Outdated Show resolved Hide resolved
cpp/cmake_modules/Usevcpkg.cmake Show resolved Hide resolved
cpp/cmake_modules/Usevcpkg.cmake Outdated Show resolved Hide resolved
@kou
Copy link
Member

kou commented Mar 4, 2021

Oh, sorry for my late review...

@ianmcook
Copy link
Member Author

ianmcook commented Mar 4, 2021

@github-actions crossbow submit test-build-vcpkg-win wheel-manylinux2010-cp36m wheel-windows-cp36m

@github-actions
Copy link

github-actions bot commented Mar 4, 2021

Revision: d7f0e22

Submitted crossbow builds: ursacomputing/crossbow @ actions-178

Task Status
test-build-vcpkg-win Github Actions
wheel-manylinux2010-cp36m Github Actions
wheel-windows-cp36m Github Actions

Copy link
Member

@kou kou left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

We can merge this once CI is green.

@ianmcook
Copy link
Member Author

ianmcook commented Mar 5, 2021

@github-actions crossbow submit test-build-vcpkg-win wheel-manylinux2010-cp36m wheel-windows-cp36m

@github-actions
Copy link

github-actions bot commented Mar 5, 2021

Revision: 2e6905a

Submitted crossbow builds: ursacomputing/crossbow @ actions-180

Task Status
test-build-vcpkg-win Github Actions
wheel-manylinux2010-cp36m Github Actions
wheel-windows-cp36m Github Actions

@kou kou closed this in 479dce5 Mar 5, 2021
GeorgeAp pushed a commit to sirensolutions/arrow that referenced this pull request Jun 7, 2021
This builds upon ARROW-11340 and makes it simpler to use vcpkg for dependencies.

Previously, to use vcpkg it was necessary to specify:
- `-DARROW_DEPENDENCY_SOURCE=SYSTEM`
- `-DCMAKE_TOOLCHAIN_FILE=/path/to/vcpkg.cmake`
- `-DVCPKG_TARGET_TRIPLET=xxx-yyy-zzz`
- Various`*_MSVC_*` variables on Windows
- Various `*_ROOT`, `*_LIB`, and `*_INCLUDE` variables in some cases
- `-D_VCPKG_INSTALLED_DIR=/path/to/vcpkg/installed/dir` in some cases

Now all that is necessary is:
- `-DARROW_DEPENDENCY_SOURCE=VCPKG`

Other variables are now optional and can be specified to override default behaviors.

After this is merged, I will make additional updates to the docs, focusing initially on Windows (ARROW-11336).

Closes apache#9553 from ianmcook/ARROW-11580-take2

Authored-by: Ian Cook <ianmcook@gmail.com>
Signed-off-by: Sutou Kouhei <kou@clear-code.com>
michalursa pushed a commit to michalursa/arrow that referenced this pull request Jun 13, 2021
This builds upon ARROW-11340 and makes it simpler to use vcpkg for dependencies.

Previously, to use vcpkg it was necessary to specify:
- `-DARROW_DEPENDENCY_SOURCE=SYSTEM`
- `-DCMAKE_TOOLCHAIN_FILE=/path/to/vcpkg.cmake`
- `-DVCPKG_TARGET_TRIPLET=xxx-yyy-zzz`
- Various`*_MSVC_*` variables on Windows
- Various `*_ROOT`, `*_LIB`, and `*_INCLUDE` variables in some cases
- `-D_VCPKG_INSTALLED_DIR=/path/to/vcpkg/installed/dir` in some cases

Now all that is necessary is:
- `-DARROW_DEPENDENCY_SOURCE=VCPKG`

Other variables are now optional and can be specified to override default behaviors.

After this is merged, I will make additional updates to the docs, focusing initially on Windows (ARROW-11336).

Closes apache#9553 from ianmcook/ARROW-11580-take2

Authored-by: Ian Cook <ianmcook@gmail.com>
Signed-off-by: Sutou Kouhei <kou@clear-code.com>
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.

2 participants