Add Jenkins support and download cache

This commit is contained in:
Guilhem Lavaux 2024-06-06 17:14:14 +02:00
parent 8249256508
commit baf18ad27a
2 changed files with 189 additions and 0 deletions

View file

@ -1,5 +1,6 @@
include(FindOpenMP)
SET(VIDE_DOWNLOAD_CACHE "${CMAKE_SOURCE_DIR}/downloads" CACHE PATH "Cache directory for downloaded dependencies")
OPTION(ENABLE_OPENMP "Set to Yes if Healpix and/or you need openMP" OFF)
OPTION(SDF_SUPPORT "Set to Yes to activate support for SDF" ON)
@ -68,8 +69,10 @@ if (INTERNAL_GENGETOPT)
SET(GENGETOPT_SOURCE_DIR ${BUILD_PREFIX}/gengetopt-prefix/src/gengetopt)
SET(GENGETOPT_BIN_DIR ${CMAKE_BINARY_DIR}/ext_build/gengetopt)
ExternalProject_Add(gengetopt
DOWNLOAD_DIR ${VIDE_DOWNLOAD_CACHE}
PREFIX ${BUILD_PREFIX}/gengetopt-prefix
URL ${GENGETOPT_URL}
DOWNLOAD_DIR ${VIDE_DOWNLOAD_CACHE}
CONFIGURE_COMMAND ${GENGETOPT_SOURCE_DIR}/configure
--prefix=${GENGETOPT_BIN_DIR}
CPPFLAGS=${CONFIGURE_CPP_FLAGS}
@ -93,8 +96,10 @@ if (INTERNAL_HDF5)
SET(HDF5_SOURCE_DIR ${BUILD_PREFIX}/hdf5-prefix/src/hdf5)
SET(HDF5_BIN_DIR ${CMAKE_BINARY_DIR}/ext_build/hdf5)
ExternalProject_Add(hdf5
DOWNLOAD_DIR ${VIDE_DOWNLOAD_CACHE}
PREFIX ${BUILD_PREFIX}/hdf5-prefix
URL ${HDF5_URL}
DOWNLOAD_DIR ${VIDE_DOWNLOAD_CACHE}
CONFIGURE_COMMAND ${HDF5_SOURCE_DIR}/configure
--disable-shared --enable-cxx --with-pic
--prefix=${HDF5_BIN_DIR} --libdir=${HDF5_BIN_DIR}/lib
@ -136,6 +141,7 @@ if (INTERNAL_NETCDF)
SET(CONFIGURE_LDFLAGS "${CONFIGURE_LDFLAGS} -L${NETCDF_BIN_DIR}/lib")
SET(EXTRA_NC_FLAGS CPPFLAGS=${CONFIGURE_CPP_FLAGS} LDFLAGS=${CONFIGURE_LDFLAGS} LIBS=${CONFIGURE_LIBS_FLAGS})
ExternalProject_Add(netcdf
DOWNLOAD_DIR ${VIDE_DOWNLOAD_CACHE}
DEPENDS ${hdf5_built}
PREFIX ${BUILD_PREFIX}/netcdf-prefix
URL ${NETCDF_URL}
@ -179,6 +185,7 @@ if (INTERNAL_BOOST)
SET(BOOST_SOURCE_DIR ${BUILD_PREFIX}/boost-prefix/src/boost)
SET(cosmotool_DEPS ${cosmotool_DEPS} boost)
ExternalProject_Add(boost
DOWNLOAD_DIR ${VIDE_DOWNLOAD_CACHE}
URL ${BOOST_URL}
PREFIX ${BUILD_PREFIX}/boost-prefix
CONFIGURE_COMMAND
@ -199,6 +206,7 @@ mark_as_advanced(Boost_INCLUDE_DIRS Boost_LIBRARIES)
IF(INTERNAL_GSL)
SET(GSL_SOURCE_DIR ${BUILD_PREFIX}/gsl-prefix/src/gsl)
ExternalProject_Add(gsl
DOWNLOAD_DIR ${VIDE_DOWNLOAD_CACHE}
URL ${GSL_URL}
PREFIX ${BUILD_PREFIX}/gsl-prefix
CONFIGURE_COMMAND ${GSL_SOURCE_DIR}/configure
@ -225,6 +233,7 @@ mark_as_advanced(GSL_LIBRARY GSLCBLAS_LIBRARY GSL_INCLUDE_PATH)
# Build cfitsio
#################
ExternalProject_Add(cfitsio
DOWNLOAD_DIR ${VIDE_DOWNLOAD_CACHE}
SOURCE_DIR ${CMAKE_SOURCE_DIR}/external/cfitsio
PREFIX ${BUILD_PREFIX}/cfitsio-prefix
CONFIGURE_COMMAND
@ -246,6 +255,7 @@ SET(CFITSIO_INCLUDE_PATH ${CFITSIO_PREFIX}/include)
#################
ExternalProject_Add(healpix
DOWNLOAD_DIR ${VIDE_DOWNLOAD_CACHE}
DEPENDS cfitsio
PREFIX ${BUILD_PREFIX}/healpix-prefix
SOURCE_DIR ${CMAKE_SOURCE_DIR}/external/healpix
@ -278,6 +288,7 @@ SET(NETCDF_LIBRARIES ${NETCDFCPP_LIBRARY} ${NETCDF_LIBRARY} ${HDF5HL_LIBRARY} ${
###############
if (INTERNAL_QHULL)
ExternalProject_Add(qhull
DOWNLOAD_DIR ${VIDE_DOWNLOAD_CACHE}
URL ${QHULL_URL}
PREFIX ${BUILD_PREFIX}/qhull-prefix
CMAKE_ARGS
@ -309,6 +320,7 @@ IF(SDF_SUPPORT)
SET(LIBSDF_PATH ${CMAKE_SOURCE_DIR}/external/libsdf)
ExternalProject_Add(libSDF
DOWNLOAD_DIR ${VIDE_DOWNLOAD_CACHE}
URL ${CMAKE_SOURCE_DIR}/external/mswarren-libsdf-b4b9f9464b5b.tar.gz
PREFIX ${BUILD_PREFIX}/libSDF-prefix
CONFIGURE_COMMAND echo No configure