aboutsummaryrefslogtreecommitdiff
path: root/ports/matplotplusplus
diff options
context:
space:
mode:
authorJack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>2021-05-01 01:59:39 +0800
committerGitHub <noreply@github.com>2021-04-30 10:59:39 -0700
commit8dad905c6f5b8a44ce72de7221b9165a591de107 (patch)
tree3c2b1cd59ee4c336124f50c07da1e0530655c06e /ports/matplotplusplus
parentc8c95c50c11689920b9c67d88f9028f7553b389b (diff)
downloadvcpkg-8dad905c6f5b8a44ce72de7221b9165a591de107.tar.gz
vcpkg-8dad905c6f5b8a44ce72de7221b9165a591de107.zip
[matplotplusplus] Fix find and use dependencies (#17552)
* [matplotplusplus] Fix find and use dependencies * update version record
Diffstat (limited to 'ports/matplotplusplus')
-rw-r--r--ports/matplotplusplus/fix-dependencies.patch96
-rw-r--r--ports/matplotplusplus/portfile.cmake22
-rw-r--r--ports/matplotplusplus/vcpkg.json39
3 files changed, 150 insertions, 7 deletions
diff --git a/ports/matplotplusplus/fix-dependencies.patch b/ports/matplotplusplus/fix-dependencies.patch
new file mode 100644
index 000000000..89ef9fba8
--- /dev/null
+++ b/ports/matplotplusplus/fix-dependencies.patch
@@ -0,0 +1,96 @@
+diff --git a/source/3rd_party/CMakeLists.txt b/source/3rd_party/CMakeLists.txt
+index ab58bbd..f9fed7e 100644
+--- a/source/3rd_party/CMakeLists.txt
++++ b/source/3rd_party/CMakeLists.txt
+@@ -67,57 +67,69 @@ find_package(PkgConfig)
+ # Lots of optional packages are not a good idea in general.
+ # It makes the library much less "packagable" (https://youtu.be/sBP17HQAQjk)
+ # and much more difficult to make sure it works on multiple OSs
+-find_package(JPEG)
+-if(JPEG_FOUND)
++
++if (WITH_JPEG)
++find_package(JPEG REQUIRED)
++if(1)
+ target_compile_definitions(cimg INTERFACE cimg_use_jpeg)
+ target_link_libraries(cimg INTERFACE ${JPEG_LIBRARIES})
+ target_include_directories(cimg INTERFACE ${JPEG_INCLUDE_DIRS})
+ endif()
++endif()
+
+-find_package(TIFF)
+-if(TIFF_FOUND)
++if (WITH_TIFF)
++find_package(TIFF REQUIRED)
++if(1)
+ target_compile_definitions(cimg INTERFACE cimg_use_tiff)
+ target_link_libraries(cimg INTERFACE ${TIFF_LIBRARIES})
+ target_include_directories(cimg INTERFACE ${TIFF_INCLUDE_DIRS})
+ endif()
++endif()
+
+-find_package(ZLIB)
+-if(ZLIB_FOUND)
+- find_package(PNG)
+- if (PNG_FOUND)
++if (WITH_ZLIB)
++find_package(ZLIB REQUIRED)
++if(1)
++ find_package(libpng CONFIG REQUIRED)
++ if (1)
+ target_compile_definitions(cimg INTERFACE cimg_use_zlib cimg_use_png)
+- target_include_directories(cimg INTERFACE ${ZLIB_INCLUDE_DIRS} ${PNG_INCLUDE_DIRS})
+- target_link_libraries(cimg INTERFACE ${ZLIB_LIBRARIES} ${PNG_LIBRARIES})
++ target_link_libraries(cimg INTERFACE ZLIB::ZLIB png)
+ endif ()
+ endif()
++endif()
+
+-find_package(LAPACK)
+-if(LAPACK_FOUND)
++if (WITH_LAPACK)
++find_package(LAPACK REQUIRED)
++if(1)
+ target_compile_definitions(cimg INTERFACE cimg_use_lapack)
+ target_link_libraries(cimg INTERFACE ${LAPACK_LIBRARIES})
+ target_include_directories(cimg INTERFACE ${LAPACK_INCLUDE_DIRS})
+ endif()
++endif()
+
+-find_package(BLAS)
+-if(BLAS_FOUND)
++if (WITH_BLAS)
++find_package(BLAS REQUIRED)
++if(1)
+ target_compile_definitions(cimg INTERFACE cimg_use_blas)
+ target_link_libraries(cimg INTERFACE ${BLAS_LIBRARIES})
+ target_include_directories(cimg INTERFACE ${BLAS_INCLUDE_DIRS})
+ endif()
++endif()
+
+-find_package(FFTW)
+-if(FFTW_FOUND)
++if (WITH_FFTW3)
++find_package(FFTW3 CONFIG REQUIRED)
++if(1)
+ target_compile_definitions(cimg INTERFACE cimg_use_fftw3)
+- target_link_libraries(cimg INTERFACE ${FFTW_LIBRARIES})
+- target_include_directories(cimg INTERFACE ${FFTW_INCLUDE_DIRS})
++ target_link_libraries(cimg INTERFACE FFTW3::fftw3)
++endif()
+ endif()
+
+ if (CMAKE_MODULE_PATH)
+- find_package(OpenCV QUIET)
+- if (OpenCV_FOUND)
++ if (WITH_OPENCV)
++ find_package(OpenCV CONFIG REQUIRED)
++ if (1)
+ target_compile_definitions(cimg INTERFACE cimg_use_opencv)
+- target_link_libraries(cimg INTERFACE ${OpenCV_LIBRARIES})
+- target_include_directories(cimg INTERFACE ${OpenCV_INCLUDE_DIRS})
++ target_link_libraries(cimg INTERFACE opencv_core)
++ endif()
+ endif()
+ else()
+ message("No CMAKE_MODULE_PATH path for OpenCV configured")
diff --git a/ports/matplotplusplus/portfile.cmake b/ports/matplotplusplus/portfile.cmake
index 82901c5c5..a332d9210 100644
--- a/ports/matplotplusplus/portfile.cmake
+++ b/ports/matplotplusplus/portfile.cmake
@@ -12,18 +12,28 @@ vcpkg_from_github(
REF 36d8dc6c3b94b7a71c4f129763f2c6ad8fc0b54a
SHA512 ac8902e953a2a9f6bd62e14e2eb0bd42e407bae6c0b2921ad16ce547e4921ba2c8d8a9cc68e75831676dce3cd89cdf8294862710e838510b68e20f8a6cdf806f
HEAD_REF master
- PATCHES install-3rd-libraries.patch # Remove this patch when nodesoup is added in vcpkg
+ PATCHES
+ install-3rd-libraries.patch # Remove this patch when nodesoup is added in vcpkg
+ fix-dependencies.patch
)
vcpkg_check_features(
OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
- opengl BUILD_EXPERIMENTAL_OPENGL_BACKEND
+ opengl BUILD_EXPERIMENTAL_OPENGL_BACKEND
+ jpeg WITH_JPEG
+ tiff WITH_TIFF
+ zlib WITH_ZLIB
+ lapack WITH_LAPACK
+ blas WITH_BLAS
+ fftw3 WITH_FFTW3
+ opencv WITH_OPENCV
)
vcpkg_cmake_configure(
SOURCE_PATH ${SOURCE_PATH}
- OPTIONS
+ PREFER_NINJA
+ OPTIONS ${FEATURE_OPTIONS}
-DCPM_USE_LOCAL_PACKAGES=ON
-DBUILD_EXAMPLES=OFF
-DBUILD_TESTS=OFF
@@ -31,13 +41,13 @@ vcpkg_cmake_configure(
-DBUILD_PACKAGE=OFF
-DBUILD_WITH_PEDANTIC_WARNINGS=OFF
-DWITH_SYSTEM_CIMG=ON
- ${FEATURE_OPTIONS}
+ -DBUILD_HIGH_RESOLUTION_WORLD_MAP=${BUILD_WORLD_MAP}
)
vcpkg_cmake_install()
-# The official documentation says:
-# find_package(Matplot++ ...)
+vcpkg_copy_pdbs()
+
file(RENAME
${CURRENT_PACKAGES_DIR}/lib/cmake/Matplot++/matplot++-config.cmake
${CURRENT_PACKAGES_DIR}/lib/cmake/Matplot++/Matplot++-config.cmake
diff --git a/ports/matplotplusplus/vcpkg.json b/ports/matplotplusplus/vcpkg.json
index a664421f8..8d88d5005 100644
--- a/ports/matplotplusplus/vcpkg.json
+++ b/ports/matplotplusplus/vcpkg.json
@@ -1,7 +1,7 @@
{
"name": "matplotplusplus",
"version-date": "2021-04-11",
- "port-version": 1,
+ "port-version": 2,
"description": "A C++ graphics library for data visualization",
"homepage": "https://alandefreitas.github.io/matplotplusplus/",
"license": "MIT",
@@ -18,6 +18,36 @@
}
],
"features": {
+ "blas": {
+ "description": "BLAS support for Matplot++",
+ "dependencies": [
+ "blas"
+ ]
+ },
+ "fftw": {
+ "description": "fftw3 support for Matplot++",
+ "dependencies": [
+ "fftw3"
+ ]
+ },
+ "jpeg": {
+ "description": "JPEG support for Matplot++",
+ "dependencies": [
+ "libjpeg-turbo"
+ ]
+ },
+ "lapack": {
+ "description": "LAPACK support for Matplot++",
+ "dependencies": [
+ "lapack"
+ ]
+ },
+ "opencv": {
+ "description": "opencv support for Matplot++",
+ "dependencies": [
+ "opencv"
+ ]
+ },
"opengl": {
"description": "OpenGL backend for Matplot++",
"dependencies": [
@@ -25,6 +55,13 @@
"glfw3",
"opengl"
]
+ },
+ "zlib": {
+ "description": "ZLIB and libpng support for Matplot++",
+ "dependencies": [
+ "libpng",
+ "zlib"
+ ]
}
}
}