Skip to content

Commit

Permalink
Merge fb199d3 into 882178d
Browse files Browse the repository at this point in the history
  • Loading branch information
madebr authored Sep 28, 2020
2 parents 882178d + fb199d3 commit ba1b1ac
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 42 deletions.
4 changes: 2 additions & 2 deletions cmake/src.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -64,11 +64,11 @@ if(WIN32)
set_target_properties(${PROJECT_NAME} PROPERTIES OUTPUT_NAME lib${PROJECT_NAME})
endif()

if(HDF5_FOUND)
if(MATIO_WITH_HDF5)
target_link_libraries(${PROJECT_NAME} PUBLIC HDF5::HDF5)
endif()

if(ZLIB_FOUND)
if(MATIO_WITH_ZLIB)
target_link_libraries(${PROJECT_NAME} PUBLIC ZLIB::ZLIB)
endif()

Expand Down
76 changes: 36 additions & 40 deletions cmake/thirdParties.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -17,44 +17,41 @@ if(MATIO_WITH_HDF5)
else()
conan_cmake_run(REQUIRES "hdf5/[>=1.8 <1.13]" "zlib/[>=1.2.3]" BASIC_SETUP CMAKE_TARGETS OPTIONS hdf5:shared=True zlib:shared=True BUILD missing)
endif()
set(HDF5_FOUND TRUE)
else()
find_package(HDF5)
if(HDF5_FOUND)
set(HDF_MIN_VER 1.8)
if(HDF5_VERSION VERSION_LESS ${HDF_MIN_VER})
message(FATAL_ERROR "Could NOT find HDF5: Found unsuitable version ${HDF5_VERSION}, but required is at least ${HDF_MIN_VER} (found ${HDF5_LIBRARIES})")
endif()
find_package(HDF5 REQUIRED)
set(HDF_MIN_VER 1.8)
if(HDF5_VERSION VERSION_LESS ${HDF_MIN_VER})
message(FATAL_ERROR "Could NOT find HDF5: Found unsuitable version ${HDF5_VERSION}, but required is at least ${HDF_MIN_VER} (found ${HDF5_LIBRARIES})")
endif()
endif()
endif()

if(HDF5_FOUND)
set(HAVE_HDF5 1)
add_library(HDF5::HDF5 INTERFACE IMPORTED)
if(MATIO_USE_CONAN AND TARGET CONAN_PKG::hdf5)
# target from Conan
target_link_libraries(HDF5::HDF5 INTERFACE CONAN_PKG::hdf5)
elseif(HDF5_USE_STATIC_LIBRARIES AND TARGET hdf5::hdf5-static)
# static target from hdf5 1.10 or 1.12 config
target_link_libraries(HDF5::HDF5 INTERFACE hdf5::hdf5-static)
elseif(NOT HDF5_USE_STATIC_LIBRARIES AND TARGET hdf5::hdf5-shared)
# shared target from hdf5 1.10 or 1.12 config
target_link_libraries(HDF5::HDF5 INTERFACE hdf5::hdf5-shared)
elseif(TARGET hdf5)
# target from hdf5 1.8 config
target_link_libraries(HDF5::HDF5 INTERFACE hdf5)
else()
# results from CMake FindHDF5
set_target_properties(HDF5::HDF5 PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${HDF5_INCLUDE_DIRS}"
INTERFACE_LINK_LIBRARIES "${HDF5_LIBRARIES}"
)
endif()
if(NOT HDF5_USE_STATIC_LIBRARIES)
set_target_properties(HDF5::HDF5 PROPERTIES
INTERFACE_COMPILE_DEFINITIONS "H5_BUILT_AS_DYNAMIC_LIB"
)
if(NOT TARGET HDF5::HDF5)
add_library(HDF5::HDF5 INTERFACE IMPORTED)
if(MATIO_USE_CONAN AND TARGET CONAN_PKG::hdf5)
# target from Conan
target_link_libraries(HDF5::HDF5 INTERFACE CONAN_PKG::hdf5)
elseif(HDF5_USE_STATIC_LIBRARIES AND TARGET hdf5::hdf5-static)
# static target from hdf5 1.10 or 1.12 config
target_link_libraries(HDF5::HDF5 INTERFACE hdf5::hdf5-static)
elseif(NOT HDF5_USE_STATIC_LIBRARIES AND TARGET hdf5::hdf5-shared)
# shared target from hdf5 1.10 or 1.12 config
target_link_libraries(HDF5::HDF5 INTERFACE hdf5::hdf5-shared)
elseif(TARGET hdf5)
# target from hdf5 1.8 config
target_link_libraries(HDF5::HDF5 INTERFACE hdf5)
else()
# results from CMake FindHDF5
set_target_properties(HDF5::HDF5 PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${HDF5_INCLUDE_DIRS}"
INTERFACE_LINK_LIBRARIES "${HDF5_LIBRARIES}"
)
endif()
if(NOT HDF5_USE_STATIC_LIBRARIES)
set_target_properties(HDF5::HDF5 PROPERTIES
INTERFACE_COMPILE_DEFINITIONS "H5_BUILT_AS_DYNAMIC_LIB"
)
endif()
endif()
endif()

Expand All @@ -64,9 +61,10 @@ endif()


macro(matio_create_zlib target)
add_library(ZLIB::ZLIB INTERFACE IMPORTED)
target_link_libraries(ZLIB::ZLIB INTERFACE ${target})
set(ZLIB_FOUND TRUE)
if(NOT TARGET ZLIB::ZLIB)
add_library(ZLIB::ZLIB INTERFACE IMPORTED)
target_link_libraries(ZLIB::ZLIB INTERFACE ${target})
endif()
endmacro()

if(MATIO_WITH_ZLIB)
Expand All @@ -87,10 +85,8 @@ if(MATIO_WITH_ZLIB)
elseif(TARGET zlib)
matio_create_zlib(zlib)
else()
find_package(ZLIB 1.2.3)
find_package(ZLIB 1.2.3 REQUIRED)
endif()

if(ZLIB_FOUND)
set(HAVE_ZLIB 1)
endif()
set(HAVE_ZLIB 1)
endif()

0 comments on commit ba1b1ac

Please sign in to comment.