[matplotplusplus] Fix find and use dependencies (#17552)

* [matplotplusplus] Fix find and use dependencies

* update version record
This commit is contained in:
Jack·Boos·Yu 2021-05-01 01:59:39 +08:00 committed by GitHub
parent c8c95c50c1
commit 8dad905c6f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 156 additions and 8 deletions

View File

@ -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")

View File

@ -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

View File

@ -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"
]
}
}
}

View File

@ -3858,7 +3858,7 @@
},
"matplotplusplus": {
"baseline": "2021-04-11",
"port-version": 1
"port-version": 2
},
"matroska": {
"baseline": "1.6.2",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "6b6b0deac894d376c04b11f3f01a26952b97b0b1",
"version-date": "2021-04-11",
"port-version": 2
},
{
"git-tree": "1daed23f0dc56cccb47adb60cee246cac3d8cdbd",
"version-date": "2021-04-11",