Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions cmake/SetBuildType.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,12 @@ ELSE()
MARK_AS_ADVANCED(FORCE CMAKE_GCC_NM)
MARK_AS_ADVANCED(FORCE CMAKE_GCC_RANLIB)
# Determine version of LD linker, since LTO linker plugins prior to version 2.35.2 as well as standard IPO cause segfaults
EXECUTE_PROCESS(COMMAND ld --version COMMAND grep "^GNU ld" COMMAND sed "s/^.* //g" OUTPUT_VARIABLE GNU_LD_VERSION)
EXECUTE_PROCESS(COMMAND ld --version COMMAND grep "^GNU ld" COMMAND sed "s/^.* //g" OUTPUT_VARIABLE GNU_LD_VERSION ERROR_QUIET)
STRING(STRIP "${GNU_LD_VERSION}" GNU_LD_VERSION)
IF( ${GNU_LD_VERSION} VERSION_GREATER "2.35.2" )
# Linkers other than GNU ld (Apple ld, LLD, mold) report no version here, so the plugin-based path does not apply
IF( NOT GNU_LD_VERSION )
SET(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE) # Fall back to standard IPO
ELSEIF( GNU_LD_VERSION VERSION_GREATER "2.35.2" )
IF( CMAKE_GCC_AR AND CMAKE_GCC_NM AND CMAKE_GCC_RANLIB )
MESSAGE(STATUS "Found GCC binutils wrappers for LTO. Enabling LTO linker plugin.")
# Do not use the standard CMake LTO option for GNU (-flto -fno-fat-lto-objects), as it does not allow speed-up during linking
Expand Down
5 changes: 4 additions & 1 deletion cmake/SetLibraries.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,7 @@ IF(NOT LIBS_BUILD_HDF5)

IF(NOT "${HDF5_C_LIBRARY_hdf5_c}" STREQUAL "")
IF(APPLE)
EXECUTE_PROCESS(COMMAND nm -gU ${HDF5_C_LIBRARY_hdf5_c} COMMAND grep inflate OUTPUT_VARIABLE HDF5_USES_ZLIB RESULT_VARIABLE GREP_RESULT OUTPUT_STRIP_TRAILING_WHITESPACE)
EXECUTE_PROCESS(COMMAND nm -g ${HDF5_C_LIBRARY_hdf5_c} COMMAND grep inflate OUTPUT_VARIABLE HDF5_USES_ZLIB RESULT_VARIABLE GREP_RESULT OUTPUT_STRIP_TRAILING_WHITESPACE)
ELSE()
EXECUTE_PROCESS(COMMAND readelf -Ws ${HDF5_C_LIBRARY_hdf5_c} COMMAND grep inflate OUTPUT_VARIABLE HDF5_USES_ZLIB RESULT_VARIABLE GREP_RESULT OUTPUT_STRIP_TRAILING_WHITESPACE)
ENDIF()
Expand All @@ -256,6 +256,9 @@ IF(NOT LIBS_BUILD_HDF5)
ENDIF()
ENDIF()

# HDF5 might reference szip, nowadays provided by libaec, in its imported targets without looking it up itself
FIND_PACKAGE(libaec QUIET)

# Set build status to system
SET(HDF5_BUILD_STATUS "system")
ELSE()
Expand Down