-
Notifications
You must be signed in to change notification settings - Fork 185
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Always use vcpkg. #4570
Always use vcpkg. #4570
Conversation
This pull request has been linked to Shortcut Story #36911: Remove "enable vcpkg" options from CMake command line and bootstrap scripts. |
@@ -39,7 +39,7 @@ option(CMAKE_EXPORT_COMPILE_COMMANDS "cmake compile commands" ON) | |||
set(TILEDB_INSTALL_LIBDIR "" CACHE STRING "If non-empty, install TileDB library to this directory instead of CMAKE_INSTALL_LIBDIR.") | |||
|
|||
if (NOT TILEDB_VCPKG) | |||
message(DEPRECATION "Disabling TILEDB_VCPKG is deprecated and will be removed in a future version.") | |||
message(FATAL_ERROR "Disabling TILEDB_VCPKG is not supported.") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For now I made this a fatal error. In the near future TILEDB_VCPKG
will be completely removed, and passing -DTILEDB_VCPKG=OFF
will result in the usual CMake warning about unused variables.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
This code here insofar as it's just code is ready to merge. Before we merge, however, we need to ensure that none of our downstream users will be affected by these changes.
One of the changes does not affect downstream and could be merged immediately.
cmake -B build ${{ matrix.config != 'Debug' && '-DTILEDB_VCPKG=OFF' }} -DTILEDB_WERROR=ON -DTILEDB_SERIALIZATION=ON -DTILEDB_EXPERIMENTAL_FEATURES=$EXPERIMENTAL -DCMAKE_BUILD_TYPE=${{ matrix.config || 'Release' }} -DTILEDB_SANITIZER=$SANITIZER_ARG -DTILEDB_VCPKG_BASE_TRIPLET=${{ matrix.base_triplet }} | ||
cmake -B build -DTILEDB_WERROR=ON -DTILEDB_SERIALIZATION=ON -DTILEDB_EXPERIMENTAL_FEATURES=$EXPERIMENTAL -DCMAKE_BUILD_TYPE=${{ matrix.config || 'Release' }} -DTILEDB_SANITIZER=$SANITIZER_ARG -DTILEDB_VCPKG_BASE_TRIPLET=${{ matrix.base_triplet }} | ||
|
||
- name: Configure TileDB CMake (Windows) | ||
if: contains(matrix.os, 'windows') | ||
working-directory: ${{ matrix.working_directory || github.workspace }} | ||
run: | | ||
cmake -B build -S $env:GITHUB_WORKSPACE ${{ matrix.config != 'Debug' && '-DTILEDB_VCPKG=OFF' }} -DTILEDB_WERROR=ON -DTILEDB_SERIALIZATION=ON -DCMAKE_BUILD_TYPE=${{ matrix.config || 'Release' }} | ||
cmake -B build -S $env:GITHUB_WORKSPACE -DTILEDB_WERROR=ON -DTILEDB_SERIALIZATION=ON -DCMAKE_BUILD_TYPE=${{ matrix.config || 'Release' }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These changes don't have any effect on downstream dependencies. They could be split out into a separate PR and merged immediately.
@@ -39,7 +39,7 @@ option(CMAKE_EXPORT_COMPILE_COMMANDS "cmake compile commands" ON) | |||
set(TILEDB_INSTALL_LIBDIR "" CACHE STRING "If non-empty, install TileDB library to this directory instead of CMAKE_INSTALL_LIBDIR.") | |||
|
|||
if (NOT TILEDB_VCPKG) | |||
message(DEPRECATION "Disabling TILEDB_VCPKG is deprecated and will be removed in a future version.") | |||
message(FATAL_ERROR "Disabling TILEDB_VCPKG is not supported.") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK.
With conda-forge/tiledb-feedstock#242 being merged, there are no first-party projects that disable vcpkg. This PR can be merged. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please also add a section to https://github.com/TileDB-Inc/TileDB/blob/dev/doc/dev/BUILD.md about how to support system packages with links to other projects.
@ihnorton there is already this snippet. What else should I add? Lines 131 to 136 in cab84bc
|
Addresses #4570 (review) --- TYPE: NO_HISTORY
Addresses #4570 (review) --- TYPE: NO_HISTORY
[SC-36911](https://app.shortcut.com/tiledb-inc/story/36911/remove-enable-vcpkg-options-from-cmake-command-line-and-bootstrap-scripts) This PR changes the severity of the message when we configure with `-DTILEDB_VCPKG=OFF` from a `DEPRECATION` to a `FATAL_ERROR`. This means that using the legacy `ExternalProject`-based mechanism for acquiring dependencies is no longer supported. The `ExternalProject` modules have become dead code and will be removed in a subsequent PR. --- TYPE: BUILD DESC: Vcpkg is always enabled; turning the `TILEDB_VCPKG` option off is no longer supported and fails.
SC-36911
This PR changes the severity of the message when we configure with
-DTILEDB_VCPKG=OFF
from aDEPRECATION
to aFATAL_ERROR
. This means that using the legacyExternalProject
-based mechanism for acquiring dependencies is no longer supported. TheExternalProject
modules have become dead code and will be removed in a subsequent PR.TYPE: BUILD
DESC: Vcpkg is always enabled; turning the
TILEDB_VCPKG
option off is no longer supported and fails.