diff options
Diffstat (limited to 'vcpkg/ports/netcdf-c/dependencies.diff')
| -rw-r--r-- | vcpkg/ports/netcdf-c/dependencies.diff | 246 |
1 files changed, 246 insertions, 0 deletions
diff --git a/vcpkg/ports/netcdf-c/dependencies.diff b/vcpkg/ports/netcdf-c/dependencies.diff new file mode 100644 index 0000000..e7ee97a --- /dev/null +++ b/vcpkg/ports/netcdf-c/dependencies.diff @@ -0,0 +1,246 @@ +diff --git a/cmake/dependencies.cmake b/cmake/dependencies.cmake +index d06a276..5d97fd3 100644 +--- a/cmake/dependencies.cmake ++++ b/cmake/dependencies.cmake +@@ -134,7 +134,22 @@ if(USE_HDF5) + ##### + # First, find the C and HL libraries. + ##### +- find_package(HDF5 COMPONENTS C HL REQUIRED) ++ find_package(HDF5 NAMES hdf5 CONFIG COMPONENTS C HL REQUIRED) ++ if(TARGET HDF5::HDF5) ++ # pass ++ elseif(TARGET hdf5::hdf5-shared) ++ add_library(HDF5::HDF5 ALIAS hdf5::hdf5-shared) ++ elseif(TARGET hdf5::hdf5-static) ++ add_library(HDF5::HDF5 ALIAS hdf5::hdf5-static) ++ endif() ++ if(TARGET hdf5::hdf5_hl) ++ # pass ++ elseif(TARGET hdf5::hdf5_hl-shared) ++ add_library(hdf5::hdf5_hl ALIAS hdf5::hdf5_hl-shared) ++ elseif(TARGET hdf5::hdf5_hl-static) ++ add_library(hdf5::hdf5_hl ALIAS hdf5::hdf5_hl-static) ++ endif() ++ set(HDF5_IS_PARALLEL "${HDF5_ENABLE_PARALLEL}") + + message(STATUS "Found HDF5 version: ${HDF5_VERSION}") + if(${HDF5_VERSION} VERSION_LESS ${HDF5_VERSION_REQUIRED}) +@@ -144,7 +159,6 @@ if(USE_HDF5) + message(STATUS "Using HDF5 include dir: ${HDF5_INCLUDE_DIRS}") + target_link_libraries(netcdf + PRIVATE +- HDF5::HDF5 + ) + + find_package(Threads) +@@ -244,10 +258,10 @@ if( NETCDF_ENABLE_DAP2 OR NETCDF_ENABLE_DAP4 OR NETCDF_ENABLE_BYTERANGE_SUPPORT + # ${CURL_INCLUDE_DIRS} + #) + if(CURL_FOUND) ++ set(CURL_LIBRARIES "") + set(FOUND_CURL TRUE) + target_link_libraries(netcdf + PRIVATE +- CURL::libcurl + ) + else() + set(FOUND_CURL FALSE) +@@ -345,6 +359,10 @@ if(NOT WIN32) + set(HAVE_LIBM "") + endif() + else(NOT HAVE_LIBM) ++ find_library(HAVE_LIBM_M NAMES m) ++ if(HAVE_LIBM STREQUAL HAVE_LIBM_M) ++ set(HAVE_LIBM m) ++ endif() + message(STATUS "Found Math library: ${HAVE_LIBM}") + endif() + endif() +@@ -354,6 +372,7 @@ endif() + ################################ + # See if we have zlib + find_package(ZLIB) ++set(ZLIB_LIBRARY ZLIB::ZLIB) + + # Define a test flag for have zlib library + if(ZLIB_FOUND) +@@ -371,18 +390,25 @@ endif() + ################################ + MESSAGE(STATUS "Checking for filter libraries") + IF (NETCDF_ENABLE_FILTER_SZIP) +- find_package(Szip) ++ find_package(libaec CONFIG REQUIRED) ++ set(Szip_FOUND 1) ++ set(Szip_LIBRARY libaec::sz) ++ set(Szip_LIBRARIES "${Szip_LIBRARY}") + elseif(NETCDF_ENABLE_NCZARR) +- find_package(Szip) ++ # purely transitive + endif() + IF (NETCDF_ENABLE_FILTER_BZ2) +- find_package(Bz2) ++ find_package(BZip2 REQUIRED) ++ set(Bz2_FOUND 1) ++ set(Bz2_LIBRARIES BZip2::BZip2) ++ set(Bzip2_LIBRARIES "${Bz2_LIBRARIES}") + endif() + IF (NETCDF_ENABLE_FILTER_BLOSC) + find_package(Blosc) + endif() + IF (NETCDF_ENABLE_FILTER_ZSTD) +- find_package(Zstd) ++ find_package(Zstd NAMES zstd REQUIRED) ++ set(Zstd_LIBRARIES zstd::libzstd) + endif() + + # Accumulate standard filters +@@ -412,7 +438,8 @@ endif() + + set(STD_FILTERS "${STD_FILTERS}${FOUND_STD_FILTERS}") + IF (NETCDF_ENABLE_NCZARR_ZIP) +- find_package(Zip) ++ find_package(Zip NAMES libzip REQUIRED) ++ set(Zip_LIBRARIES libzip::zip) + if(Zip_FOUND) + target_include_directories(netcdf + PRIVATE +diff --git a/libdispatch/CMakeLists.txt b/libdispatch/CMakeLists.txt +index 0f5d66d..13ef7ca 100644 +--- a/libdispatch/CMakeLists.txt ++++ b/libdispatch/CMakeLists.txt +@@ -14,6 +14,10 @@ target_sources(dispatch + ncproplist.c + ) + ++if(NETCDF_ENABLE_DAP2 OR NETCDF_ENABLE_DAP4 OR NETCDF_ENABLE_BYTERANGE) ++ target_link_libraries(dispatch PRIVATE CURL::libcurl) ++endif() ++ + if (NETCDF_ENABLE_DLL) + target_compile_definitions(dispatch PRIVATE DLL_NETCDF DLL_EXPORT) + endif() +diff --git a/liblib/CMakeLists.txt b/liblib/CMakeLists.txt +index cc482d5..5f263c5 100644 +--- a/liblib/CMakeLists.txt ++++ b/liblib/CMakeLists.txt +@@ -43,7 +43,6 @@ if(USE_HDF4) + endif() + + if(FOUND_CURL) +- target_link_libraries(netcdf PRIVATE CURL::libcurl) + endif() + + if(NETCDF_ENABLE_DAP2) +@@ -60,6 +59,7 @@ if(NETCDF_ENABLE_DAP4) + $<TARGET_OBJECTS:dap4> + $<TARGET_OBJECTS:ncxml> + ) ++ list(APPEND EXTRA_DEPS tinyxml2::tinyxml2) + endif() + + if(NETCDF_ENABLE_NCZARR) +@@ -74,6 +74,7 @@ if(NETCDF_ENABLE_S3_INTERNAL) + PRIVATE + $<TARGET_OBJECTS:ncxml> + ) ++ list(APPEND EXTRA_DEPS tinyxml2::tinyxml2) + endif() + + if(NETCDF_ENABLE_PLUGINS) +@@ -185,6 +186,14 @@ endif() + + if(TLL_LIBS) + list(REMOVE_DUPLICATES TLL_LIBS) ++ # Plugins only ++ list(REMOVE_ITEM TLL_LIBS ++ ${Blosc_LIBRARIES} ++ ${Bz2_LIBRARIES} ++ ${Szip_LIBRARIES} ++ ${ZLIB_LIBRARY} ++ ${Zstd_LIBRARIES} ++ ) + endif() + + target_link_libraries(netcdf PRIVATE ${TLL_LIBS}) +diff --git a/libncxml/CMakeLists.txt b/libncxml/CMakeLists.txt +index b8fa4b2..65f1c18 100644 +--- a/libncxml/CMakeLists.txt ++++ b/libncxml/CMakeLists.txt +@@ -1,7 +1,7 @@ + if(HAVE_LIBXML2) + set(libncxml_SOURCES ncxml_xml2.c) + else() +- set(libncxml_SOURCES ncxml_tinyxml2.cpp tinyxml2.cpp tinyxml2.h) ++ set(libncxml_SOURCES ncxml_tinyxml2.cpp) + endif() + + add_library(ncxml OBJECT ${libncxml_SOURCES}) +@@ -13,6 +13,8 @@ if(HAVE_LIBXML2) + ${LIBXML2_INCLUDE_DIRS} + ) + else() ++ find_package(tinyxml2 CONFIG REQUIRED GLOBAL) ++ target_link_libraries(ncxml PRIVATE $<COMPILE_ONLY:tinyxml2::tinyxml2>) + target_include_directories(ncxml + PUBLIC + ./include +diff --git a/netCDFConfig.cmake.in b/netCDFConfig.cmake.in +index 987b2ad..0dfda8e 100644 +--- a/netCDFConfig.cmake.in ++++ b/netCDFConfig.cmake.in +@@ -4,6 +4,17 @@ + # + @PACKAGE_INIT@ + ++if(NOT "@BUILD_SHARED_LIBS@") ++ include(CMakeFindDependencyMacro) ++ find_dependency(tinyxml2 CONFIG) ++ if("@FOUND_CURL@") ++ find_dependency(CURL) ++ endif() ++ if("@NETCDF_ENABLE_NCZARR_ZIP@") ++ find_dependency(libzip CONFIG) ++ endif() ++endif() ++ + set(NetCDFVersion "@PACKAGE_VERSION@") + set_and_check(netCDF_INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@") + set_and_check(netCDF_INCLUDE_DIR "@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@") +@@ -42,7 +53,7 @@ set(netCDF_HAS_DISKLESS @HAS_DISKLESS@) + set(netCDF_HAS_MMAP @HAS_MMAP@) + if (netCDF_HAS_HDF4 OR netCDF_HAS_HDF5) + include(CMakeFindDependencyMacro) +- find_dependency(HDF5) ++ find_dependency(hdf5 CONFIG) + endif () + + if (@HAS_PARALLEL@) +diff --git a/plugins/CMakeLists.txt b/plugins/CMakeLists.txt +index fbaeb21..8cdb5d4 100644 +--- a/plugins/CMakeLists.txt ++++ b/plugins/CMakeLists.txt +@@ -4,7 +4,7 @@ + # University Corporation for Atmospheric Research/Unidata. + + # See netcdf-c/COPYRIGHT file for more info. +-set(CMAKE_BUILD_TYPE "") ++set(ALL_TLL_LIBS ${HAVE_LIBM}) + + if(WIN32) + set(PLUGINEXT "dll") +@@ -86,10 +86,13 @@ buildplugin(h5unknown "h5unknown") + + buildplugin(h5shuffle "h5shuffle") + buildplugin(h5fletcher32 "h5fletcher32") +-buildplugin(h5deflate "h5deflate") ++buildplugin(h5deflate "h5deflate" ZLIB::ZLIB) + + buildplugin(nczmisc "zmisc") + buildplugin(nczhdf5filters "zhdf5filters" netcdf) ++if(HAVE_SZ) ++ target_link_libraries(nczhdf5filters PRIVATE ${Szip_LIBRARIES}) ++endif() + + if(NETCDF_ENABLE_BLOSC) + set(h5blosc_SOURCES H5Zblosc.c) |