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

[SuiteSparse] Update and split into sub-packages #39297

Closed
wants to merge 98 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
98 commits
Select commit Hold shift + click to select a range
2444464
[SuiteSparse] add suitesparse-config port
valgur Jun 14, 2024
92dc8cc
[SuiteSparse] add suitesparse-amd
valgur Jun 14, 2024
649951e
[SuiteSparse] add suitesparse-btf
valgur Jun 14, 2024
b641337
[SuiteSparse] add suitesparse-camd
valgur Jun 14, 2024
a1e208d
[SuiteSparse] add suitesparse-ccolamd
valgur Jun 14, 2024
878a670
[SuiteSparse] add suitesparse-colamd
valgur Jun 14, 2024
d77155e
[SuiteSparse] add suitesparse-ldl
valgur Jun 14, 2024
efa21a1
[SuiteSparse] add suitesparse-mongoose
valgur Jun 14, 2024
9722718
[SuiteSparse] add suitesparse-rbio
valgur Jun 14, 2024
1460d7b
[SuiteSparse] add suitesparse-spex
valgur Jun 14, 2024
17bc751
[SuiteSparse] add suitesparse-graphblas
valgur Jun 14, 2024
589394e
[SuiteSparse] add suitesparse-lagraph
valgur Jun 14, 2024
6cc3b66
[SuiteSparse] add suitesparse-cholmod
valgur Jun 14, 2024
9d8012a
[SuiteSparse] add suitesparse-klu
valgur Jun 14, 2024
ac4405d
[SuiteSparse] add suitesparse-umfpack
valgur Jun 14, 2024
44b17c1
[SuiteSparse] add suitesparse-paru
valgur Jun 14, 2024
fc0bee4
[SuiteSparse] add suitesparse-spqr
valgur Jun 14, 2024
784ad55
[SuiteSparse] add suitesparse-cxsparse
valgur Jun 14, 2024
1206dbc
[SuiteSparse] fix suitesparse-ldl license installation
valgur Jun 14, 2024
2691f4a
[SuiteSparse] update suitesparse meta-package
valgur Jun 14, 2024
1df3ccf
[SuiteSparse] update Ceres and g2o to use specific SuiteSparse packag…
valgur Jun 14, 2024
730b0ef
[SuiteSparse] fix vcpkg.json formatting
valgur Jun 14, 2024
af99099
[SuiteSparse] update version database
valgur Jun 14, 2024
f5409a3
[SuiteSparse] fix suitesparse-config fixup
valgur Jun 14, 2024
ebe4c93
[SuiteSparse] vdb
valgur Jun 14, 2024
e83bd34
[SuiteSparse] set DISABLE_PARALLEL_CONFIGURE
valgur Jun 14, 2024
bbfbe3b
[SuiteSparse] vdb
valgur Jun 14, 2024
2983086
[SuiteSparse] disable OpenMP by default
valgur Jun 15, 2024
2a70f3a
[SuiteSparse] update vdb
valgur Jun 15, 2024
c991831
[SuiteSparse] fix port-version
valgur Jun 17, 2024
08b7fbe
[SuiteSparse] update openmp in suitesparse/vcpkg.json
valgur Jun 17, 2024
20efbf0
[SuiteSparse] workaround for find_package(LAPACK) issues due to BLA_V…
valgur Jun 17, 2024
336b50e
update git-tree
MonicaLiu0311 Jun 17, 2024
9270747
[Ceres] add compatibility with SuiteSparse v7
valgur Jun 17, 2024
e2d6010
[Ceres] update vdb
valgur Jun 17, 2024
782adbd
[Ceres] add missing suitesparse-cxsparse dependency
valgur Jun 17, 2024
89b2d51
[Ceres] update vdb
valgur Jun 17, 2024
cffc39f
[Ceres] fix CeresConfig.cmake.in
valgur Jun 17, 2024
5869fb1
[Ceres] update vdb
valgur Jun 17, 2024
4399aa3
[SuiteSparse] add missing openmp feature to lagraph
valgur Jun 17, 2024
0ab5ad1
[SuiteSparse] update vdb
valgur Jun 17, 2024
d3f7288
[theia] add support for SuiteSparse v7
valgur Jun 17, 2024
b791553
[theia] update vdb
valgur Jun 17, 2024
c222113
[Theia] update and merge patches, drop default [viewer] from openimageio
valgur Jun 18, 2024
ef32e04
[Theia] update vdb
valgur Jun 18, 2024
5c4e386
[SuiteSparse] handle suitesparse_mongoose tool
valgur Jun 18, 2024
c6d9961
[SuiteSparse] update vdb
valgur Jun 18, 2024
ec23261
[SuiteSparse] fix GraphBLAS JIT cache dir handling
valgur Jun 18, 2024
a4ff7a5
[SuiteSparse] update vdb
valgur Jun 18, 2024
4a1de07
[SuiteSparse] disable complex data types for ARM android
valgur Jun 19, 2024
4491d50
vdb
valgur Jun 20, 2024
8db9b29
[suitesparse] fix BLAS linking on Windows
valgur Jul 16, 2024
caec19c
[suitesparse-cxsparse] complex is not available on MSVC
valgur Jul 16, 2024
29cdfc8
[suitesparse] fix BLAS linking in components using it transitively
valgur Jul 16, 2024
2325cae
vdb
valgur Jul 16, 2024
df5876b
[suitesparse-graphblas] disable on android
valgur Jul 17, 2024
a7271b8
vdb
valgur Jul 17, 2024
310023a
[suitesparse-paru] MSVC OpenMP is not compatible (v2.0 < required v4.5)
valgur Jul 19, 2024
1aaf2fa
[suitesparse-cxsparse] strictly disable 'complex' on Windows
valgur Jul 19, 2024
c8ec71d
[suitesparse] disable CUDA feature on Windows
valgur Jul 19, 2024
370b36d
[suitesparse-graphblas] disable x86 Windows
valgur Jul 19, 2024
451db26
[suitesparse] fix vcpkg.json formatting
valgur Jul 19, 2024
01fd771
vdb
valgur Jul 19, 2024
f76d0b1
[suitesparse-cxsparse] don't enable 'complex' on Windows
valgur Jul 20, 2024
64819b0
[suitesparse] fix 'cuda' feature support
valgur Jul 20, 2024
672661d
vdb
valgur Jul 20, 2024
fdfddc8
[colmap] add a missing METIS dependency
valgur Jul 20, 2024
5c539dd
vdb
valgur Jul 20, 2024
dcf89d5
[suitesparse-graphblas] add x86-windows to ci.baseline.txt
valgur Jul 26, 2024
dca3134
Bump port-versions
valgur Jul 27, 2024
acc8bc3
update vdb
valgur Jul 27, 2024
4bc8192
Merge remote-tracking branch 'refs/remotes/origin/master' into update…
valgur Jul 31, 2024
8e4c6ec
CI
valgur Aug 7, 2024
0069271
Merge remote-tracking branch 'origin/master' into update/suitesparse
valgur Aug 16, 2024
f18bcb8
vdb
valgur Aug 16, 2024
a7e377b
[suitesparse-graphblas] only supported on x64 for windows
valgur Aug 16, 2024
63222ff
vdb
valgur Aug 16, 2024
eb239f2
[SuiteSparse] update to v7.8.1
valgur Aug 17, 2024
ac7fd50
vdb
valgur Aug 17, 2024
b3722e8
[suitesparse-spqr] add a missing 'supernodal' requirement for cholmod
valgur Aug 17, 2024
5bcb8b4
vdb
valgur Aug 17, 2024
75ccb70
[ceres] require matrixops feature from cholmod
valgur Aug 18, 2024
dd86272
vdb
valgur Aug 18, 2024
6caed0d
[suitesparse-graphblas] move failures from "supports" to ci.baseline.txt
valgur Aug 18, 2024
61749a9
vdb
valgur Aug 18, 2024
311ce89
fix ceres vdb
valgur Aug 19, 2024
f3a86f6
fix g2o vdb
valgur Aug 19, 2024
b867d2d
[suitesparse-graphblas] adjust "supports"
valgur Aug 20, 2024
4d65cd3
vdb
valgur Aug 20, 2024
b6c5da3
[g2o] disable use of vendored CSparse
valgur Aug 20, 2024
5c86dd0
vdb
valgur Aug 20, 2024
1eb2f67
Merge branch 'master' of https://github.com/microsoft/vcpkg into upda…
Aug 26, 2024
b16ed70
[SuiteSparse] add update_suitesparse.py script
valgur Aug 27, 2024
4efaf5d
[SuiteSparse] update to v7.8.2
valgur Aug 27, 2024
b37eb81
[SuiteSparse] use lower-case `share/suitesparse` subdir
valgur Aug 27, 2024
b3aa137
vdb
valgur Aug 27, 2024
f58ac5d
[theia] drop REQUIRED from `find_dependency(Ceres REQUIRED)`
valgur Aug 27, 2024
99dcf8a
vdb
valgur Aug 27, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 21 additions & 9 deletions ports/ceres/0003_fix_exported_ceres_config.patch
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,24 @@ diff --git a/cmake/CeresConfig.cmake.in b/cmake/CeresConfig.cmake.in
index 4745483..b55462d 100644
--- a/cmake/CeresConfig.cmake.in
+++ b/cmake/CeresConfig.cmake.in
@@ -217,55 +217,14 @@ else (Eigen3_FOUND)
@@ -179,8 +179,14 @@
find_dependency(Threads)

# Optional dependencies
-@CXSparse_DEPENDENCY@
-@SuiteSparse_DEPENDENCY@
+include (CMakeFindDependencyMacro)
+if (@CXSPARSE@)
+ find_dependency(CXSparse REQUIRED)
+endif()
+if (@SUITESPARSE@)
+ find_dependency(CHOLMOD REQUIRED)
+ find_dependency(SPQR REQUIRED)
+endif()

# As imported CMake targets are not re-exported when a dependent target is
# exported, we must invoke find_package(XXX) here to reload the definition
@@ -217,55 +223,7 @@
endif (Eigen3_FOUND)

# glog (and maybe gflags).
Expand Down Expand Up @@ -35,15 +52,13 @@ index 4745483..b55462d 100644
- # Search quietly s/t we control the timing of the error message if not found.
- find_package(Glog QUIET)
- endif()
-
- if (GLOG_FOUND)
- ceres_message(STATUS "Found required Ceres dependency: glog")
- else()
- ceres_report_not_found("Missing required Ceres dependency: glog.")
- endif()
+include (CMakeFindDependencyMacro)
+find_dependency (glog NO_MODULE)

-
- # gflags is only a public dependency of Ceres via glog, thus is not required
- # if Ceres was built with MINIGLOG.
- if (CERES_USES_GFLAGS)
Expand All @@ -57,10 +72,7 @@ index 4745483..b55462d 100644
- endif()
- endif()
-endif(CERES_USES_MINIGLOG)
+# SuiteSparse
+if (@SUITESPARSE@)
+ find_dependency(SuiteSparse CONFIG)
+endif()
+find_dependency(glog CONFIG)

# Import exported Ceres targets, if they have not already been imported.
if (NOT TARGET ceres AND NOT Ceres_BINARY_DIR)
15 changes: 15 additions & 0 deletions ports/ceres/0005_suitesparse_v7_compatibility.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
https://github.com/ceres-solver/ceres-solver/commit/9cca671273c2f205ca7350422f48b7b119c5dd78

Enable compatibility with SuiteSparse 7.2.0

--- a/internal/ceres/covariance_impl.cc
+++ b/internal/ceres/covariance_impl.cc
@@ -630,7 +630,7 @@
// separately.
const SuiteSparse_long rank = SuiteSparseQR<double>(SPQR_ORDERING_BESTAMD,
SPQR_DEFAULT_TOL,
- cholmod_jacobian.ncol,
+ static_cast<int64_t>(cholmod_jacobian.ncol),
&cholmod_jacobian,
&R,
&permutation,
11 changes: 6 additions & 5 deletions ports/ceres/find-package-required.patch
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,11 @@ index 2d241fe..b79454d 100644
else (LAPACK_FOUND)
@@ -266,7 +266,8 @@ if (SUITESPARSE)
# built with SuiteSparse support.
-
# Check for SuiteSparse and dependencies.
- find_package(SuiteSparse 4.0 COMPONENTS CHOLMOD SPQR)
+ find_package(suitesparse CONFIG REQUIRED)
+ find_package(CHOLMOD CONFIG REQUIRED)
+ find_package(SPQR CONFIG REQUIRED)
Comment on lines +19 to +20
Copy link
Member

Choose a reason for hiding this comment

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

This is not a change request, I'm just curious as to how "transparent" these changes are:

  • Do the changes in this PR require that we do this for all downstream consumers?
  • Could we leave find_package(suitesparse CONFIG REQUIRED) and do the find_package updates in a follow-up PR?

+ set(SuiteSparse_FOUND 1)
if (SuiteSparse_FOUND)
set(SuiteSparse_DEPENDENCY "find_dependency(SuiteSparse ${SuiteSparse_VERSION})")
Expand Down Expand Up @@ -98,15 +99,15 @@ index 299b373..33d41d8 100644
add_definitions(-DCERES_SUITESPARSE_VERSION="${SuiteSparse_VERSION}")
- list(APPEND CERES_LIBRARY_PRIVATE_DEPENDENCIES SuiteSparse::CHOLMOD
- SuiteSparse::SPQR)
+ list(APPEND CERES_LIBRARY_PRIVATE_DEPENDENCIES SuiteSparse::cholmod
+ SuiteSparse::spqr)
+ list(APPEND CERES_LIBRARY_PRIVATE_DEPENDENCIES SuiteSparse::CHOLMOD
+ SuiteSparse::SPQR)
endif (SUITESPARSE AND SuiteSparse_FOUND)

if (CXSPARSE AND CXSparse_FOUND)
# Define version information for use in Solver::FullReport.
add_definitions(-DCERES_CXSPARSE_VERSION="${CXSparse_VERSION}")
- list(APPEND CERES_LIBRARY_PRIVATE_DEPENDENCIES CXSparse::CXSparse)
+ list(APPEND CERES_LIBRARY_PRIVATE_DEPENDENCIES ${CXSparse_LIBRARIES})
+ list(APPEND CERES_LIBRARY_PRIVATE_DEPENDENCIES SuiteSparse::CXSparse)
endif (CXSPARSE AND CXSparse_FOUND)

if (ACCELERATESPARSE AND AccelerateSparse_FOUND)
1 change: 1 addition & 0 deletions ports/ceres/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ vcpkg_from_github(
0002_use_glog_target.patch
0003_fix_exported_ceres_config.patch
find-package-required.patch
0005_suitesparse_v7_compatibility.patch
)

file(REMOVE "${SOURCE_PATH}/cmake/FindCXSparse.cmake")
Expand Down
14 changes: 9 additions & 5 deletions ports/ceres/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "ceres",
"version": "2.1.0",
"port-version": 5,
"port-version": 6,
"description": "non-linear optimization package",
"homepage": "https://github.com/ceres-solver/ceres-solver",
"license": "Apache-2.0",
Expand Down Expand Up @@ -36,7 +36,8 @@
"features": [
"suitesparse"
]
}
},
"suitesparse-cxsparse"
]
},
"eigensparse": {
Expand All @@ -61,9 +62,12 @@
]
},
{
"name": "suitesparse",
"default-features": false
}
"name": "suitesparse-cholmod",
"features": [
"matrixops"
]
},
"suitesparse-spqr"
]
},
"tools": {
Expand Down
2 changes: 2 additions & 0 deletions ports/colmap/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"name": "colmap",
"version": "3.10",
"port-version": 1,
"description": "COLMAP is a general-purpose Structure-from-Motion (SfM) and Multi-View Stereo (MVS) pipeline with a graphical and command-line interface. It offers a wide range of features for reconstruction of ordered and unordered image collections. The software is licensed under the new BSD license.",
"homepage": "https://colmap.github.io/",
"license": "BSD-3-Clause",
Expand All @@ -25,6 +26,7 @@
"gflags",
"glew",
"glog",
"metis",
valgur marked this conversation as resolved.
Show resolved Hide resolved
"qt5-base",
"sqlite3",
{
Expand Down
1 change: 1 addition & 0 deletions ports/g2o/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ vcpkg_cmake_configure(
-DBUILD_LGPL_SHARED_LIBS=${BUILD_LGPL_SHARED_LIBS}
-DG2O_BUILD_EXAMPLES=OFF
-DG2O_BUILD_APPS=OFF
-DBUILD_CSPARSE=OFF
)

vcpkg_cmake_install()
Expand Down
5 changes: 3 additions & 2 deletions ports/g2o/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
{
"name": "g2o",
"version-date": "2020-02-07",
"port-version": 6,
"port-version": 7,
"description": "g2o: A General Framework for Graph Optimization",
"homepage": "https://openslam.org/g2o.html",
"dependencies": [
"ceres",
"eigen3",
"lapack",
"suitesparse",
"suitesparse-cholmod",
"suitesparse-cxsparse",
{
"name": "vcpkg-cmake",
"host": true
Expand Down
33 changes: 33 additions & 0 deletions ports/suitesparse-amd/portfile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO DrTimothyAldenDavis/SuiteSparse
REF v7.8.1
valgur marked this conversation as resolved.
Show resolved Hide resolved
SHA512 d07709ad8567e5fe954f04d0c38a95a5610394aaa5ff5c809518c378b937d20556114b95c9dc052b316c8e8fcbb2eca294b425b21e8bbfa5c04f72c6f15a5eb6
HEAD_REF dev
)

set(PACKAGE_NAME AMD)

string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}/${PACKAGE_NAME}"
DISABLE_PARALLEL_CONFIGURE
OPTIONS
-DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS}
-DSUITESPARSE_USE_CUDA=OFF
-DSUITESPARSE_USE_STRICT=ON
-DSUITESPARSE_USE_FORTRAN=OFF
-DSUITESPARSE_DEMOS=OFF
)

vcpkg_cmake_install()

vcpkg_cmake_config_fixup(
PACKAGE_NAME ${PACKAGE_NAME}
CONFIG_PATH lib/cmake/${PACKAGE_NAME}
)
vcpkg_fixup_pkgconfig()

file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")

vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/${PACKAGE_NAME}/Doc/License.txt")
19 changes: 19 additions & 0 deletions ports/suitesparse-amd/vcpkg.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"$comment": "Use the suitesparse/update_suitesparse.py script to update all SuiteSparse ports",
"name": "suitesparse-amd",
"version-semver": "3.3.3",
"description": "AMD: Routines for permuting sparse matrices prior to factorization in SuiteSparse",
"homepage": "https://people.engr.tamu.edu/davis/suitesparse.html",
"license": "BSD-3-Clause",
"dependencies": [
"suitesparse-config",
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
]
}
36 changes: 36 additions & 0 deletions ports/suitesparse-btf/portfile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO DrTimothyAldenDavis/SuiteSparse
REF v7.8.1
SHA512 d07709ad8567e5fe954f04d0c38a95a5610394aaa5ff5c809518c378b937d20556114b95c9dc052b316c8e8fcbb2eca294b425b21e8bbfa5c04f72c6f15a5eb6
HEAD_REF dev
)

set(PACKAGE_NAME BTF)

string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}/${PACKAGE_NAME}"
DISABLE_PARALLEL_CONFIGURE
OPTIONS
-DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS}
-DSUITESPARSE_USE_CUDA=OFF
-DSUITESPARSE_USE_STRICT=ON
-DSUITESPARSE_USE_FORTRAN=OFF
-DSUITESPARSE_DEMOS=OFF
)

vcpkg_cmake_install()

vcpkg_cmake_config_fixup(
PACKAGE_NAME ${PACKAGE_NAME}
CONFIG_PATH lib/cmake/${PACKAGE_NAME}
)
vcpkg_fixup_pkgconfig()

file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")

vcpkg_install_copyright(FILE_LIST
"${SOURCE_PATH}/${PACKAGE_NAME}/Doc/License.txt"
"${SOURCE_PATH}/${PACKAGE_NAME}/Doc/lesser.txt"
)
19 changes: 19 additions & 0 deletions ports/suitesparse-btf/vcpkg.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"$comment": "Use the suitesparse/update_suitesparse.py script to update all SuiteSparse ports",
"name": "suitesparse-btf",
"version-semver": "2.3.2",
"description": "BTF: Software package for permuting a matrix into block upper triangular form in SuiteSparse",
"homepage": "https://people.engr.tamu.edu/davis/suitesparse.html",
"license": "LGPL-2.1-or-later",
"dependencies": [
"suitesparse-config",
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
]
}
33 changes: 33 additions & 0 deletions ports/suitesparse-camd/portfile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO DrTimothyAldenDavis/SuiteSparse
REF v7.8.1
SHA512 d07709ad8567e5fe954f04d0c38a95a5610394aaa5ff5c809518c378b937d20556114b95c9dc052b316c8e8fcbb2eca294b425b21e8bbfa5c04f72c6f15a5eb6
HEAD_REF dev
)

set(PACKAGE_NAME CAMD)

string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}/${PACKAGE_NAME}"
DISABLE_PARALLEL_CONFIGURE
OPTIONS
-DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS}
-DSUITESPARSE_USE_CUDA=OFF
-DSUITESPARSE_USE_STRICT=ON
-DSUITESPARSE_USE_FORTRAN=OFF
-DSUITESPARSE_DEMOS=OFF
)

vcpkg_cmake_install()

vcpkg_cmake_config_fixup(
PACKAGE_NAME ${PACKAGE_NAME}
CONFIG_PATH lib/cmake/${PACKAGE_NAME}
)
vcpkg_fixup_pkgconfig()

file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")

vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/${PACKAGE_NAME}/Doc/License.txt")
19 changes: 19 additions & 0 deletions ports/suitesparse-camd/vcpkg.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"$comment": "Use the suitesparse/update_suitesparse.py script to update all SuiteSparse ports",
"name": "suitesparse-camd",
"version-semver": "3.3.3",
"description": "AMD: Routines for permuting sparse matrices prior to factorization in SuiteSparse",
"homepage": "https://people.engr.tamu.edu/davis/suitesparse.html",
"license": "BSD-3-Clause",
"dependencies": [
"suitesparse-config",
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
]
}
33 changes: 33 additions & 0 deletions ports/suitesparse-ccolamd/portfile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO DrTimothyAldenDavis/SuiteSparse
REF v7.8.1
SHA512 d07709ad8567e5fe954f04d0c38a95a5610394aaa5ff5c809518c378b937d20556114b95c9dc052b316c8e8fcbb2eca294b425b21e8bbfa5c04f72c6f15a5eb6
HEAD_REF dev
)

set(PACKAGE_NAME CCOLAMD)

string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}/${PACKAGE_NAME}"
DISABLE_PARALLEL_CONFIGURE
OPTIONS
-DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS}
-DSUITESPARSE_USE_CUDA=OFF
-DSUITESPARSE_USE_STRICT=ON
-DSUITESPARSE_USE_FORTRAN=OFF
-DSUITESPARSE_DEMOS=OFF
)

vcpkg_cmake_install()

vcpkg_cmake_config_fixup(
PACKAGE_NAME ${PACKAGE_NAME}
CONFIG_PATH lib/cmake/${PACKAGE_NAME}
)
vcpkg_fixup_pkgconfig()

file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")

vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/${PACKAGE_NAME}/Doc/License.txt")
Loading
Loading