mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-27 17:07:50 +08:00
a9f8430961
* [hdf5] Use cmake wrapper to ensure consuming libraries link to szip in static build * [hdf5] Move hdf5 cmake code from vcpkg.cmake to vcpkg-cmake-wrapper * [hdf5] Do not force search in config mode * [hdf5] balance needs of vtk and kealib
30 lines
1.3 KiB
CMake
30 lines
1.3 KiB
CMake
if (NOT PROJECT_NAME STREQUAL "VTK")
|
|
_find_package(${ARGS} CONFIG)
|
|
# Fill in missing static/shared targets
|
|
foreach(HDF5TARGET hdf5 hdf5_hl hdf5_cpp hdf5_hl_cpp)
|
|
if(TARGET hdf5::${HDF5TARGET}-static AND NOT TARGET hdf5::${HDF5TARGET}-shared)
|
|
_add_library(hdf5::${HDF5TARGET}-shared INTERFACE IMPORTED)
|
|
set_target_properties(hdf5::${HDF5TARGET}-shared PROPERTIES INTERFACE_LINK_LIBRARIES "hdf5::${HDF5TARGET}-static")
|
|
elseif(TARGET hdf5::${HDF5TARGET}-shared AND NOT TARGET hdf5::${HDF5TARGET}-static)
|
|
_add_library(hdf5::${HDF5TARGET}-static INTERFACE IMPORTED)
|
|
set_target_properties(hdf5::${HDF5TARGET}-static PROPERTIES INTERFACE_LINK_LIBRARIES "hdf5::${HDF5TARGET}-shared")
|
|
endif()
|
|
endforeach()
|
|
else ()
|
|
_find_package(${ARGS})
|
|
endif()
|
|
|
|
if("static" STREQUAL "static")
|
|
find_package(SZIP CONFIG REQUIRED)
|
|
foreach(HDF5TARGET hdf5 hdf5_hl hdf5_cpp hdf5_hl_cpp)
|
|
if(TARGET hdf5::${HDF5TARGET}-static)
|
|
if (TARGET szip-shared)
|
|
set_property(TARGET hdf5::${HDF5TARGET}-static APPEND PROPERTY INTERFACE_LINK_LIBRARIES szip-shared)
|
|
else ()
|
|
set_property(TARGET hdf5::${HDF5TARGET}-static APPEND PROPERTY INTERFACE_LINK_LIBRARIES szip-static)
|
|
endif ()
|
|
endif()
|
|
endforeach()
|
|
endif()
|
|
|