fix: update dependencies to have them pass on modern compiler

This commit is contained in:
Guilhem Lavaux 2025-07-02 13:46:15 +02:00
parent dfc6f18413
commit 54d71a9a0d
2 changed files with 71 additions and 38 deletions

View file

@ -29,13 +29,14 @@ IF(INTERNAL_GENGETOPT)
ENDIF(INTERNAL_GENGETOPT)
IF(INTERNAL_HDF5)
SET(HDF5_URL "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.5/src/hdf5-1.10.5.tar.gz" CACHE STRING "URL to download HDF5 from")
SET(HDF5_URL "https://github.com/HDFGroup/hdf5/archive/refs/tags/hdf5_1.14.6.tar.gz" CACHE STRING "URL to download HDF5 from")
mark_as_advanced(HDF5_URL)
ENDIF(INTERNAL_HDF5)
IF(INTERNAL_NETCDF)
SET(NETCDF_URL "https://github.com/Unidata/netcdf-c/archive/v4.7.3.tar.gz" CACHE STRING "URL to download NetCDF from")
SET(NETCDFCXX_URL "https://github.com/Unidata/netcdf-cxx4/archive/v4.3.1.tar.gz" CACHE STRING "URL to download NetCDF-CXX from")
SET(NETCDF_URL "https://github.com/Unidata/netcdf-c/archive/refs/tags/v4.9.3.tar.gz" CACHE STRING "URL to download NetCDF from")
SET(NETCDFCXX_URL "https://github.com/Unidata/netcdf-cxx4/archive/8ba2dd92277dbc1058b3a024933e09a69246b481.tar.gz" CACHE STRING "URL to download NetCDF-CXX from")
#SET(NETCDFCXX_URL "https://github.com/Unidata/netcdf-cxx4/archive/v4.3.1.tar.gz" CACHE STRING "URL to download NetCDF-CXX from")
mark_as_advanced(NETCDF_URL)
ENDIF(INTERNAL_NETCDF)
@ -51,7 +52,7 @@ IF(INTERNAL_QHULL)
mark_as_advanced(QHULL_URL)
ENDIF(INTERNAL_QHULL)
SET(HEALPIX_URL "https://sourceforge.net/projects/healpix/files/Healpix_3.50/healpix_cxx-3.50.0.tar.gz/download" CACHE STRING "URL for Healpix")
SET(HEALPIX_URL "https://sourceforge.net/projects/healpix/files/Healpix_3.83/Healpix_3.83_2024Nov13.tar.gz/download" CACHE STRING "URL for Healpix")
mark_as_advanced(HEALPIX_URL)
@ -102,7 +103,7 @@ if (INTERNAL_HDF5)
ExternalProject_Add(hdf5
PREFIX ${BUILD_PREFIX}/hdf5-prefix
URL ${HDF5_URL}
URL_HASH MD5=e115eeb66e944fa7814482415dd21cc4
URL_HASH SHA256=09ee1c671a87401a5201c06106650f62badeea5a3b3941e9b1e2e1e08317357f
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX=${EXT_INSTALL}
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
@ -110,6 +111,7 @@ if (INTERNAL_HDF5)
-DHDF5_BUILD_CPP_LIB=ON
-DHDF5_BUILD_TOOLS=ON
-DHDF5_BUILD_HL_LIB=ON
-DDEFAULT_API_VERSION:STRING=v110
-DBUILD_SHARED_LIBS=ON
BUILD_BYPRODUCTS ${EXT_INSTALL}/lib/libhdf5-static.a ${EXT_INSTALL}/lib/libhdf5_cpp.a
)
@ -151,32 +153,58 @@ if (INTERNAL_NETCDF)
DEPENDS ${hdf5_built}
PREFIX ${BUILD_PREFIX}/netcdf-prefix
URL ${NETCDF_URL}
PATCH_COMMAND ${CMAKE_COMMAND}
-DBUILD_PREFIX=${BUILD_PREFIX}/netcdf-prefix
-DPATCH_FILE=${CMAKE_SOURCE_DIR}/external/patch_netcdf
-DSOURCE_PREFIX=${BUILD_PREFIX}/netcdf-prefix/src/netcdf/ncgen3
-P ${CMAKE_SOURCE_DIR}/external/check_and_apply_patch.cmake
CONFIGURE_COMMAND env PATH=${EXT_INSTALL}/bin:$ENV{PATH} ${NETCDF_SOURCE_DIR}/configure
--prefix=${NETCDF_BIN_DIR} --libdir=${NETCDF_BIN_DIR}/lib
--enable-netcdf-4 --with-pic --disable-shared --disable-dap
--disable-cdmremote --disable-rpc
--disable-examples ${EXTRA_NC_FLAGS} CC=${CMAKE_C_COMPILER}
CXX=${CMAKE_CXX_COMPILER}
BUILD_IN_SOURCE 1
INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} install
URL_HASH SHA256=990f46d49525d6ab5dc4249f8684c6deeaf54de6fec63a187e9fb382cc0ffdff
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX=${EXT_INSTALL}
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-DBUILD_SHARED_LIBS=OFF
-DBUILD_TESTING=OFF
-DBUILD_TESTSETS=OFF
-DNETCDF_ENABLE_DAP=OFF
-DNETCDF_ENABLE_DAP2=OFF
-DNETCDF_ENABLE_DAP4=OFF
-DNETCDF_ENABLE_BYTERANGE_SUPPORT=OFF
-DNETCDF_ENABLE_BYTERANGE=OFF
-DNETCDF_ENABLE_NCZARR_S3=OFF
-DNETCDF_ENABLE_EXAMPLES=OFF
-DNETCDF_ENABLE_TESTS=OFF
-DNETCDF_ENABLE_LOGGING=ON
#PATCH_COMMAND ${CMAKE_COMMAND}
# -DBUILD_PREFIX=${BUILD_PREFIX}/netcdf-prefix
# -DPATCH_FILE=${CMAKE_SOURCE_DIR}/external/patch_netcdf
# -DSOURCE_PREFIX=${BUILD_PREFIX}/netcdf-prefix/src/netcdf/ncgen3
# -P ${CMAKE_SOURCE_DIR}/external/check_and_apply_patch.cmake
# CONFIGURE_COMMAND env PATH=${EXT_INSTALL}/bin:$ENV{PATH} ${NETCDF_SOURCE_DIR}/configure
# --prefix=${NETCDF_BIN_DIR} --libdir=${NETCDF_BIN_DIR}/lib
# --enable-netcdf-4 --with-pic --disable-shared --disable-dap
# --disable-cdmremote --disable-rpc
# --disable-examples ${EXTRA_NC_FLAGS} CC=${CMAKE_C_COMPILER}
# CXX=${CMAKE_CXX_COMPILER}
#BUILD_IN_SOURCE 1
#INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} install
)
ExternalProject_Add(netcdf_cxx
DEPENDS netcdf
PREFIX ${BUILD_PREFIX}/netcdf-cxx-prefix
URL ${NETCDFCXX_URL}
CONFIGURE_COMMAND env PATH=${EXT_INSTALL}/bin:$ENV{PATH} ${NETCDF_CXX_SOURCE_DIR}/configure
--prefix=${NETCDF_BIN_DIR} --libdir=${NETCDF_BIN_DIR}/lib
--with-pic --disable-shared
--disable-examples ${EXTRA_NC_FLAGS} CC=${CMAKE_C_COMPILER}
CXX=${CMAKE_CXX_COMPILER}
BUILD_IN_SOURCE 1
INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} install
URL_HASH SHA256=29d58409c478747406f077c2d4a300991036590d4a2885b7da032033a443c77f
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX=${EXT_INSTALL}
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-DBUILD_SHARED_LIBS=OFF
-DBUILD_TESTING=OFF
-DBUILD_TESTSET=OFF
BUILD_BYPRODUCTS ${EXT_INSTALL}/lib/libnetcdf_c++4.a
# CONFIGURE_COMMAND env PATH=${EXT_INSTALL}/bin:$ENV{PATH} ${NETCDF_CXX_SOURCE_DIR}/configure
# --prefix=${NETCDF_BIN_DIR} --libdir=${NETCDF_BIN_DIR}/lib
# --with-pic --disable-shared
# --disable-examples ${EXTRA_NC_FLAGS} CC=${CMAKE_C_COMPILER}
# CXX=${CMAKE_CXX_COMPILER}
# BUILD_IN_SOURCE 1
# INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} install
)
SET(CONFIGURE_CPP_LDFLAGS "${CONFIGURE_LDFLAGS}")
@ -297,8 +325,8 @@ message(STATUS "GSL paths: ${GSL_LIBRARY} ${GSL_CBLAS_LIBRARY} ${GSL_INCLUDE}")
#################
ExternalProject_Add(cfitsio
URL file://${CMAKE_SOURCE_DIR}/external/cfitsio-3.47.tar.gz
URL_HASH SHA1=5a25016dcaf12117d950e4278e10d39c6c7d33a5
URL https://github.com/HEASARC/cfitsio/archive/refs/tags/cfitsio-4.6.2.tar.gz
URL_HASH SHA1=b8ded310b3805a2db1bcbb2c5bb4e82775048f00
PREFIX ${BUILD_PREFIX}/cfitsio-prefix
CONFIGURE_COMMAND ./configure --prefix=${EXT_INSTALL} --disable-curl --libdir=${EXT_INSTALL}/lib CPPFLAGS=${CONFIGURE_CPP_FLAGS} CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER}
BUILD_IN_SOURCE 1
@ -318,19 +346,24 @@ ExternalProject_Add(healpix
DEPENDS cfitsio
PREFIX ${BUILD_PREFIX}/healpix-prefix
URL ${HEALPIX_URL}
URL_HASH SHA1=c8a537e743f760dfa453cad246065d37f72fc0cb
CONFIGURE_COMMAND ${CMAKE_COMMAND}
-DHEALPIX_CC=${CMAKE_C_COMPILER}
-DHEALPIX_CXX=${CMAKE_CXX_COMPILER}
-DHEALPIX_DIR:STRING=${HEALPIX_DIR}
-DHEALPIX_INSTALL:STRING=${EXT_INSTALL}
-DCFITSIO_LIB:STRING=${CFITSIO_LIBRARY}
-P ${CMAKE_SOURCE_DIR}/external/configure_healpix.cmake
URL_HASH SHA256=8876c18efc596fd706b2a004ac15f2fb60b795f2db6fbabea9d8ccf549531dda
CONFIGURE_COMMAND ./configure --auto=cxx
BUILD_IN_SOURCE 1
BUILD_BYPRODUCTS ${HEALPIX_DIR}/lib/libhealpix_cxx.a
INSTALL_COMMAND true
# CONFIGURE_COMMAND ${CMAKE_COMMAND}
# -DHEALPIX_CC=${CMAKE_C_COMPILER}
# -DHEALPIX_CXX=${CMAKE_CXX_COMPILER}
# -DHEALPIX_DIR:STRING=${HEALPIX_DIR}
# -DHEALPIX_INSTALL:STRING=${EXT_INSTALL}
# -DCFITSIO_LIB:STRING=${CFITSIO_LIBRARY}
# -P ${CMAKE_SOURCE_DIR}/external/configure_healpix.cmake
# BUILD_BYPRODUCTS ${EXT_INSTALL}/lib/libhealpix_cxx.a
)
set(HPIX_LIBPATH ${EXT_INSTALL}/lib)
set(HPIX_LIBPATH ${HEALPIX_DIR}/lib) # ${EXT_INSTALL}/lib)
set(HEALPIX_LIBRARY ${HPIX_LIBPATH}/libhealpix_cxx.a)
SET(HEALPIX_INCLUDE_PATH ${EXT_INSTALL}/include/healpix_cxx)
SET(HEALPIX_INCLUDE_PATH ${HEALPIX_DIR}/include) # ${EXT_INSTALL}/include/healpix_cxx)
SET(HEALPIX_LIBRARIES ${HEALPIX_LIBRARY} ${CFITSIO_LIBRARY} )
set(GSL_LIBRARIES ${GSL_LIBRARY} ${GSL_CBLAS_LIBRARY})
SET(NETCDF_LIBRARIES ${NETCDFCPP_LIBRARY} ${NETCDF_LIBRARY} ${HDF5_HL_LIBRARIES} ${HDF5_LIBRARIES} ${ZLIB_LIBRARY})

View file

@ -10,7 +10,7 @@ ENDIF()
#v1.0.0a7.tar.bz2
ExternalProject_Add(cosmotool
URL https://bitbucket.org/glavaux/cosmotool/get/59bb99e.tar.gz
URL https://git.aquila-consortium.org/guilhem_lavaux/cosmotool/archive/63158017ea7b693cf2b8b2f840e24fb1f6882558.tar.gz
DEPENDS ${cosmotool_DEPS}
SOURCE_DIR ${COSMOTOOL_DIR}
PREFIX ${BUILD_PREFIX}/cosmotool-prefix