2020-09-05 22:19:43 +08:00
# highfive should be updated together with hdf5
2020-01-07 06:13:34 +08:00
vcpkg_fail_port_install ( ON_TARGET "UWP" )
2017-11-27 02:28:16 +08:00
2020-06-24 03:58:50 +08:00
vcpkg_from_github (
2019-03-15 05:29:33 +08:00
O U T _ S O U R C E _ P A T H S O U R C E _ P A T H
2021-05-07 04:52:01 +08:00
R E P O H D F G r o u p / h d f 5
2020-06-24 03:58:50 +08:00
R E F h d f 5 - 1 _ 1 2 _ 0
S H A 5 1 2 d 8 4 d f 1 e a 7 2 d c 6 f a 0 3 8 4 4 0 a 3 7 0 e 1 b 1 f f 5 2 3 3 6 4 4 7 4 e 7 f 2 1 4 b 9 6 7 e d c 2 6 d 3 1 9 1 b 2 e f 4 f e 1 d 9 2 7 3 c 4 a 0 8 6 a 5 9 4 5 f 1 a d 1 a b 6 a a 8 d b c d a 4 9 5 8 9 8 e 7 9 6 7 b 2 b 7 3 f d 9 3 d d 5 0 7 1 e 0
H E A D _ R E F d e v e l o p
2021-05-07 04:52:01 +08:00
P A T C H E S
2021-06-10 06:17:07 +08:00
h d f 5 _ c o n f i g . p a t c h
s z i p . p a t c h
m i n g w - i m p o r t - l i b s . p a t c h
p k g c o n f i g - r e q u i r e s . p a t c h
2021-07-07 04:34:41 +08:00
p k g c o n f i g - l i n k - o r d e r . p a t c h
2017-02-28 17:09:04 +08:00
)
2020-01-07 06:13:34 +08:00
if ( "parallel" IN_LIST FEATURES AND "cpp" IN_LIST FEATURES )
message ( FATAL_ERROR "Feature Parallel and C++ options are mutually exclusive." )
2018-02-01 22:48:40 +08:00
endif ( )
2020-03-29 09:41:08 +08:00
if ( "fortran" IN_LIST FEATURE )
message ( WARNING "Fortran is not yet official supported within VCPKG. Build will most likly fail if ninja 1.10 and a Fortran compiler are not available." )
endif ( )
2020-01-11 02:44:44 +08:00
vcpkg_check_features ( OUT_FEATURE_OPTIONS FEATURE_OPTIONS
2021-06-10 06:17:07 +08:00
F E A T U R E S
p a r a l l e l H D F 5 _ E N A B L E _ P A R A L L E L
t o o l s H D F 5 _ B U I L D _ T O O L S
c p p H D F 5 _ B U I L D _ C P P _ L I B
s z i p H D F 5 _ E N A B L E _ S Z I P _ S U P P O R T
s z i p H D F 5 _ E N A B L E _ S Z I P _ E N C O D I N G
z l i b H D F 5 _ E N A B L E _ Z _ L I B _ S U P P O R T
f o r t r a n H D F 5 _ B U I L D _ F O R T R A N
t h r e a d s a f e H D F 5 _ E N A B L E _ T H R E A D S A F E
2020-01-11 02:44:44 +08:00
)
2021-05-07 04:52:01 +08:00
file ( REMOVE "${SOURCE_PATH}/config/cmake_ext_mod/FindSZIP.cmake" ) #Outdated; does not find debug szip
2020-03-29 09:41:08 +08:00
if ( FEATURES MATCHES "tools" AND VCPKG_CRT_LINKAGE STREQUAL "static" )
list ( APPEND FEATURE_OPTIONS -DBUILD_STATIC_EXECS=ON )
endif ( )
2020-06-24 03:58:50 +08:00
if ( NOT VCPKG_LIBRARY_LINKAGE STREQUAL "static" )
list ( APPEND FEATURE_OPTIONS
- D B U I L D _ S T A T I C _ L I B S = O F F
- D O N L Y _ S H A R E D _ L I B S = O N )
endif ( )
[many ports] improvements for linux/wsl (#6730)
* [many ports] improve compatibility with WSL and mixed case filesystems
* [treehopper] express dependency on libusb, which was not working on non-win32 platforms and is still broken there
* [libharu] add compatibility with non-win32 platforms
* [geogram] fix openblas on linux
[clapack] better integration with linux environment
[visit-struct] put cmake config file in the expected folder
[geogram] remove trailing underscore to enable compatibility with OpenBLAS
* [openblas] playing with underscore, without success
* [openblas/lapack] fix library integration
* [clapack] improve target handling in cmake module
* [openblas] promote self-generated config to default cmake module, otherwise internal ones thinks wrongly that openblas can also solve lapack libs
* [clapack,openblas] improve libraries integration
* [many ports] fix cmake unnecessary target paths, wrong config paths, empty default dependencies, unnecessary [core] tags
* [suitesparse] improve integration with new lapack/openblas mechanism
* [suitesparse] add no underscore postfix also for linux
* [ceres] fix integration with newer openblas/lapack configs
* [aws-c-event-stream] fix regression
* [systemc] fix regression
* [libwebp,geogram] trigger rebuild
* [libwebp,pthread4w] fix regressions
* [glbinding] fix cmake module installation
* [globjects] disentangle unnecessary dependency from qt5
* [jasper] remove broken and unnecessary patches
* [libwebp] fix regression
* [many ports] avoid using BUILD_SHARED_LIBS which is uninitialized in port files
* [clapack] correctly find dlls
* [clapack] use a generic blas as dependency
* [fizz,g2o] restore expected version
* fix mistake
* [many ports] remove WIN32, APPLE and UNIX (again, they keep creeping in) from ports since they are broken and usually break non-win32 ports
* [libressl,openssl] do not try to build one if the other is already installed
* [itk] update ref and patch to avoid regression
* [libressl,openssl] implement full strategy to fix CI
* [libwebp] disable components that are broken on macOS
* [ogre] enable macOS build
* [freeimage,jxrlib,ogre,openexr,protobuf] port patches from #5169
* [ogre] add missing install command
* [ffmpeg] enable wrapper for cmake module
* [ffmpeg] add avresample module finder
* [ffmpeg] improve module detection and exported symbols
* [ffmpeg] add variables to cache
* [thrift] remove unnecessary build option
* [allegro5] fix shared/static inversion
* [protobuf] cleanup
* [libressl] cleanup
* [moos-core] cleanup
* commented features must not be separated from other features, otherwise vcpkg complains
* [itk] fix regression
* [shogun,itk] fix regressions
* [ogre] fix regression
* [opusfile] add compatibility with non-win32
* [itk] fix regression
* [sndfile,libsndfile] remove duplicate, redirect sndfile to libsndfile
* add missing dependencies
* [ismrmrd] fix regression
* [ffmpeg] trigger rebuild
* [clapack,openblas,libogg] fix regressions on macOS
* [libtins] fix regression
* force rebuild windows regressions, unable to reproduce locally
* [mosquitto] enable non-win32 builds
* [json-dto] force rebuild, unable to reproduce regression locally
* [many ports] uniform naming and path length requests
* fix regression
* fix regression
* [ffmpeg] fixes for downstream projects
* clean up - thanks to reviewers
* trigger rebuild of regressions on macOS
* trigger rebuild of regressions on macOS - part2
* Add core back
* Use VCPKG_CONCURRENCY
* Add core back to suitesparse
* Add core back to curl
* Add core back to magnum
* Add core back to magnum
* Add core back to magnum
* Add core back to cgal
2019-06-21 10:11:54 +08:00
2021-06-10 06:17:07 +08:00
vcpkg_cmake_configure (
S O U R C E _ P A T H " $ { S O U R C E _ P A T H } "
2019-04-03 11:35:44 +08:00
D I S A B L E _ P A R A L L E L _ C O N F I G U R E
2017-02-09 15:15:27 +08:00
P R E F E R _ N I N J A
2020-01-11 02:44:44 +08:00
O P T I O N S
$ { F E A T U R E _ O P T I O N S }
2017-01-11 19:18:49 +08:00
- D B U I L D _ T E S T I N G = O F F
- D H D F 5 _ B U I L D _ E X A M P L E S = O F F
- D H D F 5 _ I N S T A L L _ D A T A _ D I R = s h a r e / h d f 5 / d a t a
2019-03-15 05:29:33 +08:00
- D H D F 5 _ I N S T A L L _ C M A K E _ D I R = s h a r e
2020-06-24 03:58:50 +08:00
- D H D F _ P A C K A G E _ N A M E S P A C E : S T R I N G = h d f 5 : :
2017-01-11 19:18:49 +08:00
)
2021-06-10 06:17:07 +08:00
vcpkg_cmake_install ( )
2017-01-11 19:18:49 +08:00
vcpkg_copy_pdbs ( )
2021-06-10 06:17:07 +08:00
vcpkg_cmake_config_fixup ( )
2021-05-07 04:52:01 +08:00
set ( debug_suffix debug )
if ( VCPKG_TARGET_IS_WINDOWS )
set ( debug_suffix D )
endif ( )
if ( EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/hdf5-1.12.0.pc" )
vcpkg_replace_string (
" $ { C U R R E N T _ P A C K A G E S _ D I R } / d e b u g / l i b / p k g c o n f i g / h d f 5 - 1 . 1 2 . 0 . p c "
" - l h d f 5 "
" - l h d f 5 _ $ { d e b u g _ s u f f i x } "
)
endif ( )
if ( EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/hdf5_hl-1.12.0.pc" )
vcpkg_replace_string (
" $ { C U R R E N T _ P A C K A G E S _ D I R } / d e b u g / l i b / p k g c o n f i g / h d f 5 _ h l - 1 . 1 2 . 0 . p c "
" - l h d f 5 _ h l "
" - l h d f 5 _ h l _ $ { d e b u g _ s u f f i x } "
)
endif ( )
if ( EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/hdf5_cpp-1.12.0.pc" )
vcpkg_replace_string (
" $ { C U R R E N T _ P A C K A G E S _ D I R } / d e b u g / l i b / p k g c o n f i g / h d f 5 _ c p p - 1 . 1 2 . 0 . p c "
" - l h d f 5 _ c p p "
" - l h d f 5 _ c p p _ $ { d e b u g _ s u f f i x } "
)
vcpkg_replace_string (
" $ { C U R R E N T _ P A C K A G E S _ D I R } / d e b u g / l i b / p k g c o n f i g / h d f 5 _ c p p - 1 . 1 2 . 0 . p c "
" R e q u i r e s . p r i v a t e : h d f 5 "
" "
)
endif ( )
if ( EXISTS "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/hdf5_cpp-1.12.0.pc" )
vcpkg_replace_string (
" $ { C U R R E N T _ P A C K A G E S _ D I R } / l i b / p k g c o n f i g / h d f 5 _ c p p - 1 . 1 2 . 0 . p c "
" R e q u i r e s . p r i v a t e : h d f 5 "
" "
)
endif ( )
if ( EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/hdf5_hl_cpp-1.12.0.pc" )
vcpkg_replace_string (
" $ { C U R R E N T _ P A C K A G E S _ D I R } / d e b u g / l i b / p k g c o n f i g / h d f 5 _ h l _ c p p - 1 . 1 2 . 0 . p c "
" - l h d f 5 _ h l _ c p p "
" - l h d f 5 _ h l _ c p p _ $ { d e b u g _ s u f f i x } "
)
endif ( )
set ( PKG_FILES hdf5 hdf5_hl hdf5_cpp hdf5_hl_cpp )
foreach ( PC_FILE IN LISTS PKG_FILES )
set ( SUBPATHS "/debug/lib/pkgconfig" "/lib/pkgconfig" )
foreach ( SUBPATH IN LISTS SUBPATHS )
if ( EXISTS "${CURRENT_PACKAGES_DIR}${SUBPATH}/${PC_FILE}-1.12.0.pc" )
file ( RENAME "${CURRENT_PACKAGES_DIR}${SUBPATH}/${PC_FILE}-1.12.0.pc" "${CURRENT_PACKAGES_DIR}${SUBPATH}/${PC_FILE}.pc" )
endif ( )
endforeach ( )
endforeach ( )
vcpkg_fixup_pkgconfig ( )
file ( REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share" )
file ( REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" )
2019-04-03 20:52:27 +08:00
2020-03-29 09:41:08 +08:00
file ( READ "${CURRENT_PACKAGES_DIR}/share/hdf5/hdf5-config.cmake" contents )
string ( REPLACE [[ ${ HDF5_PACKAGE_NAME } _TOOLS_DIR "${PACKAGE_PREFIX_DIR}/bin" ]] [[ ${ HDF5_PACKAGE_NAME } _TOOLS_DIR "${PACKAGE_PREFIX_DIR}/tools/hdf5" ]] contents ${ contents } )
file ( WRITE "${CURRENT_PACKAGES_DIR}/share/hdf5/hdf5-config.cmake" ${ contents } )
2020-01-11 02:44:44 +08:00
2020-03-29 09:41:08 +08:00
if ( FEATURES MATCHES "tools" )
set ( TOOLS h5cc h5hlcc h5c++ h5hlc++ h5copy h5diff h5dump h5ls h5stat gif2h5 h52gif h5clear h5debug h5format_convert h5jam h5unjam h5ls h5mkgrp h5repack h5repart h5watch ph5diff h5import )
if ( VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic" )
set ( TOOL_SUFFIXES "-shared${VCPKG_TARGET_EXECUTABLE_SUFFIX};${VCPKG_TARGET_EXECUTABLE_SUFFIX}" )
else ( )
set ( TOOL_SUFFIXES "-static${VCPKG_TARGET_EXECUTABLE_SUFFIX};${VCPKG_TARGET_EXECUTABLE_SUFFIX}" )
endif ( )
2021-05-07 04:52:01 +08:00
2020-03-29 09:41:08 +08:00
foreach ( tool IN LISTS TOOLS )
foreach ( suffix IN LISTS TOOL_SUFFIXES )
if ( EXISTS "${CURRENT_PACKAGES_DIR}/debug/bin/${tool}${suffix}" )
file ( REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/${tool}${suffix}" )
endif ( )
if ( EXISTS "${CURRENT_PACKAGES_DIR}/bin/${tool}${suffix}" )
file ( INSTALL "${CURRENT_PACKAGES_DIR}/bin/${tool}${suffix}"
2021-06-10 06:17:07 +08:00
D E S T I N A T I O N " $ { C U R R E N T _ P A C K A G E S _ D I R } / t o o l s / $ { P O R T } " )
2020-03-29 09:41:08 +08:00
file ( REMOVE "${CURRENT_PACKAGES_DIR}/bin/${tool}${suffix}" )
endif ( )
endforeach ( )
endforeach ( )
2021-05-07 04:52:01 +08:00
vcpkg_copy_tool_dependencies ( "${CURRENT_PACKAGES_DIR}/tools/${PORT}" )
2020-03-29 09:41:08 +08:00
endif ( )
if ( VCPKG_LIBRARY_LINKAGE STREQUAL "static" )
2021-05-07 04:52:01 +08:00
file ( REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin" )
2020-03-29 09:41:08 +08:00
endif ( )
2020-01-11 02:44:44 +08:00
2021-05-07 04:52:01 +08:00
file ( RENAME "${CURRENT_PACKAGES_DIR}/share/${PORT}/data/COPYING" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" )
configure_file ( "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake" @ONLY )