Skip to content

Commit 333ba63

Browse files
authored
[vtk]: Convert dependencies into default features (#40279)
1 parent a4cfba0 commit 333ba63

File tree

12 files changed

+232
-40
lines changed

12 files changed

+232
-40
lines changed

ports/opencv3/vcpkg.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "opencv3",
33
"version": "3.4.18",
4-
"port-version": 15,
4+
"port-version": 16,
55
"description": "Open Source Computer Vision Library",
66
"homepage": "https://github.com/opencv/opencv",
77
"license": "BSD-3-Clause",
@@ -300,7 +300,10 @@
300300
"contrib"
301301
]
302302
},
303-
"vtk"
303+
{
304+
"name": "vtk",
305+
"default-features": false
306+
}
304307
]
305308
},
306309
"webp": {

ports/opencv4/vcpkg.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "opencv4",
33
"version": "4.8.0",
4-
"port-version": 21,
4+
"port-version": 22,
55
"description": "computer vision library",
66
"homepage": "https://github.com/opencv/opencv",
77
"license": "Apache-2.0",
@@ -372,7 +372,10 @@
372372
"contrib"
373373
]
374374
},
375-
"vtk"
375+
{
376+
"name": "vtk",
377+
"default-features": false
378+
}
376379
]
377380
},
378381
"vulkan": {

ports/pcl/vcpkg.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"name": "pcl",
33
"version": "1.14.1",
4+
"port-version": 1,
45
"description": "Point Cloud Library (PCL) is open source library for 2D/3D image and point cloud processing.",
56
"homepage": "https://github.com/PointCloudLibrary/pcl",
67
"license": "BSD-3-Clause",
@@ -55,8 +56,7 @@
5556
"description": "CUDA support for PCL",
5657
"supports": "x64",
5758
"dependencies": [
58-
"cuda",
59-
"vtk"
59+
"cuda"
6060
]
6161
},
6262
"examples": {
@@ -115,6 +115,7 @@
115115
"dependencies": [
116116
{
117117
"name": "vtk",
118+
"default-features": false,
118119
"features": [
119120
"qt"
120121
]
@@ -152,6 +153,7 @@
152153
"dependencies": [
153154
{
154155
"name": "vtk",
156+
"default-features": false,
155157
"features": [
156158
"opengl"
157159
]
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
diff --git a/IO/Export/vtk.module b/IO/Export/vtk.module
2+
index 01b18a48..dcac24c0 100644
3+
--- a/IO/Export/vtk.module
4+
+++ b/IO/Export/vtk.module
5+
@@ -36,7 +36,6 @@ PRIVATE_DEPENDS
6+
VTK::IOGeometry
7+
VTK::ImagingCore
8+
VTK::nlohmannjson
9+
- VTK::libharu
10+
VTK::utf8
11+
TEST_DEPENDS
12+
VTK::ChartsCore
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
diff --git a/IO/NetCDF/vtk.module b/IO/NetCDF/vtk.module
2+
index a0cc0741..07f3606b 100644
3+
--- a/IO/NetCDF/vtk.module
4+
+++ b/IO/NetCDF/vtk.module
5+
@@ -26,7 +26,6 @@ PRIVATE_DEPENDS
6+
VTK::CommonDataModel
7+
VTK::netcdf
8+
VTK::vtksys
9+
- VTK::libproj
10+
TEST_DEPENDS
11+
VTK::CommonExecutionModel
12+
VTK::FiltersGeometry
13+
diff --git a/IO/NetCDF/vtkNetCDFCFWriter.cxx b/IO/NetCDF/vtkNetCDFCFWriter.cxx
14+
index 756ff87..d71de89 100644
15+
--- a/IO/NetCDF/vtkNetCDFCFWriter.cxx
16+
+++ b/IO/NetCDF/vtkNetCDFCFWriter.cxx
17+
@@ -33,7 +33,6 @@
18+
#include <sstream>
19+
#include <vector>
20+
21+
-#include "vtk_libproj.h"
22+
#include "vtk_netcdf.h"
23+
24+
VTK_ABI_NAMESPACE_BEGIN

ports/vtk/portfile.cmake

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ vcpkg_from_github(
3737
remove-prefix-changes.patch
3838
hdf5helper.patch
3939
opencascade-7.8.0.patch
40+
no-libharu-for-ioexport.patch
41+
no-libproj-for-netcdf.patch
4042
)
4143

4244
# =============================================================================
@@ -120,6 +122,38 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS VTK_FEATURE_OPTIONS
120122
"gdal" VTK_MODULE_ENABLE_VTK_IOGDAL
121123
"geojson" VTK_MODULE_ENABLE_VTK_IOGeoJSON
122124
"ioocct" VTK_MODULE_ENABLE_VTK_IOOCCT
125+
"libtheora" VTK_MODULE_ENABLE_VTK_IOOggTheora
126+
"libharu" VTK_MODULE_ENABLE_VTK_IOExportPDF
127+
"cgns" VTK_MODULE_ENABLE_VTK_IOCGNSReader
128+
"seacas" VTK_MODULE_ENABLE_VTK_IOIOSS
129+
"seacas" VTK_MODULE_ENABLE_VTK_IOExodus
130+
"sql" VTK_MODULE_ENABLE_VTK_IOSQL
131+
"proj" VTK_MODULE_ENABLE_VTK_IOCesium3DTiles
132+
"proj" VTK_MODULE_ENABLE_VTK_GeovisCore
133+
"netcdf" VTK_MODULE_ENABLE_VTK_IONetCDF
134+
"netcdf" VTK_MODULE_ENABLE_VTK_IOMINC
135+
)
136+
137+
# Require port features to prevent accidental finding of transitive dependencies
138+
vcpkg_check_features(OUT_FEATURE_OPTIONS PACKAGE_FEATURE_OPTIONS
139+
FEATURES
140+
"libtheora" CMAKE_REQUIRE_FIND_PACKAGE_THEORA
141+
"libharu" CMAKE_REQUIRE_FIND_PACKAGE_LibHaru
142+
"cgns" CMAKE_REQUIRE_FIND_PACKAGE_CGNS
143+
"seacas" CMAKE_REQUIRE_FIND_PACKAGE_SEACASIoss
144+
"seacas" CMAKE_REQUIRE_FIND_PACKAGE_SEACASExodus
145+
"sql" CMAKE_REQUIRE_FIND_PACKAGE_SQLite3
146+
"proj" CMAKE_REQUIRE_FIND_PACKAGE_PROJ
147+
"netcdf" CMAKE_REQUIRE_FIND_PACKAGE_NetCDF
148+
INVERTED_FEATURES
149+
"libtheora" CMAKE_DISABLE_FIND_PACKAGE_THEORA
150+
"libharu" CMAKE_DISABLE_FIND_PACKAGE_LibHaru
151+
"cgns" CMAKE_DISABLE_FIND_PACKAGE_CGNS
152+
"seacas" CMAKE_DISABLE_FIND_PACKAGE_SEACASIoss
153+
"seacas" CMAKE_DISABLE_FIND_PACKAGE_SEACASExodus
154+
"sql" CMAKE_DISABLE_FIND_PACKAGE_SQLite3
155+
"proj" CMAKE_DISABLE_FIND_PACKAGE_PROJ
156+
"netcdf" CMAKE_DISABLE_FIND_PACKAGE_NetCDF
123157
)
124158

125159
# Replace common value to vtk value
@@ -227,6 +261,7 @@ vcpkg_cmake_configure(
227261
OPTIONS
228262
${FEATURE_OPTIONS}
229263
${VTK_FEATURE_OPTIONS}
264+
${PACKAGE_FEATURE_OPTIONS}
230265
-DBUILD_TESTING=OFF
231266
-DVTK_BUILD_TESTING=OFF
232267
-DVTK_BUILD_EXAMPLES=OFF
@@ -254,6 +289,24 @@ vcpkg_cmake_configure(
254289
VTK_MODULE_ENABLE_VTK_GUISupportMFC # only windows
255290
VTK_QT_VERSION # Only with Qt
256291
CMAKE_INSTALL_QMLDIR
292+
# When working properly these should be unused
293+
CMAKE_DISABLE_FIND_PACKAGE_CGNS
294+
CMAKE_DISABLE_FIND_PACKAGE_LibHaru
295+
CMAKE_DISABLE_FIND_PACKAGE_NetCDF
296+
CMAKE_DISABLE_FIND_PACKAGE_PROJ
297+
CMAKE_DISABLE_FIND_PACKAGE_SEACASExodus
298+
CMAKE_DISABLE_FIND_PACKAGE_SEACASIoss
299+
CMAKE_DISABLE_FIND_PACKAGE_SQLite3
300+
CMAKE_DISABLE_FIND_PACKAGE_THEORA
301+
CMAKE_REQUIRE_FIND_PACKAGE_CGNS
302+
CMAKE_REQUIRE_FIND_PACKAGE_LibHaru
303+
CMAKE_REQUIRE_FIND_PACKAGE_NetCDF
304+
CMAKE_REQUIRE_FIND_PACKAGE_PROJ
305+
CMAKE_REQUIRE_FIND_PACKAGE_SEACASExodus
306+
CMAKE_REQUIRE_FIND_PACKAGE_SEACASIoss
307+
CMAKE_REQUIRE_FIND_PACKAGE_SQLite3
308+
CMAKE_REQUIRE_FIND_PACKAGE_THEORA
309+
257310
)
258311

259312
vcpkg_cmake_install()

0 commit comments

Comments
 (0)