diff --git a/CMakeLists.txt b/CMakeLists.txt index c1044ad..83c43cc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,109 +1,111 @@ -cmake_minimum_required(VERSION 3.2) -set(CMAKE_CXX_STANDARD 11) - -project(zobovPerso) - -include(CheckCCompilerFlag) -include(ExternalProject) - -check_c_compiler_flag(-march=native SUPPORT_ARCH_NATIVE ) - - - -find_library(MATH_LIB m) -find_library(DL_LIB dl) - -macro(add_genopt _sourcelist _ggofile _basefile) - - unset(_structname) - unset(_funcname) - - if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/${_ggofile}) - set(_ggofile2 ${CMAKE_CURRENT_SOURCE_DIR}/${_ggofile}) - else(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/${_ggofile}) - set(_ggofile2 ${CMAKE_CURRENT_BINARY_DIR}/${_ggofile}) - endif(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/${_ggofile}) - - foreach(arg ${ARGN}) - if ("x${arg}" MATCHES "^x(STRUCTNAME|FUNCNAME)$") - SET(doing "${arg}") - elseif(doing STREQUAL "STRUCTNAME") - SET(_structname ${arg}) - elseif(doing STREQUAL "FUNCNAME") - SET(_funcname ${arg}) - endif() - endforeach(arg ${ARGN}) - - if(NOT DEFINED _structname) - set(_structname ${_basefile}) - endif(NOT DEFINED _structname) - - if(NOT DEFINED _funcname) - set(_funcname ${_basefile}) - endif(NOT DEFINED _funcname) - - set(_cfile ${CMAKE_CURRENT_BINARY_DIR}/${_basefile}.c) - set(_hfile ${CMAKE_CURRENT_BINARY_DIR}/${_basefile}.h) - - add_custom_command( - OUTPUT ${_cfile} ${_hfile} - COMMAND ${GENGETOPT} -i ${_ggofile2} -f ${_funcname} -a ${_structname} zobovConf_info -F ${_basefile} -C - DEPENDS ${_ggofile2} - ) - - set(${_sourcelist} ${_cfile} ${${_sourcelist}}) - -endmacro(add_genopt) - -macro(configure_exec _source _destdir _destfile) - - SET(TMP_CONFIGURE_DIR ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}) - configure_file(${_source} ${TMP_CONFIGURE_DIR}/${_destfile} @ONLY) - file(COPY ${TMP_CONFIGURE_DIR}/${_destfile} DESTINATION ${_destdir} - FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) - -endmacro(configure_exec) - -include(${CMAKE_SOURCE_DIR}/external/external_build.cmake) -include(${CMAKE_SOURCE_DIR}/external/external_cosmotool.cmake) -include(${CMAKE_SOURCE_DIR}/external/external_python_build.cmake) - -option(INSTALL_PYTHON_LOCAL OFF) -option(INSTALL_CTOOLS_IN_PYTHON OFF) -IF(PYTHON_SITE_PACKAGES) - SET(PYTHON_LOCAL_SITE_PACKAGE ${PYTHON_SITE_PACKAGES}) -ELSE() - IF (INSTALL_PYTHON_LOCAL) - SET(PYTHON_LOCAL_SITE_PACKAGE ${USER_PYTHON_SITE_PACKAGES}) - ELSE() - SET(PYTHON_LOCAL_SITE_PACKAGE ${SYSTEM_PYTHON_SITE_PACKAGES}) - ENDIF() -ENDIF() - -SET(PYTHONPATH ${PYTHON_LOCAL_SITE_PACKAGE}) -configure_exec(${CMAKE_SOURCE_DIR}/python_tools/pipeline_source/prepareInputs.in.py -${CMAKE_BINARY_DIR}/pipeline prepareInputs.py) -#configure_exec(${CMAKE_SOURCE_DIR}/python_tools/pipeline_source/applyMaskToMock.in.py -#${CMAKE_BINARY_DIR}/pipeline applyMaskToMock.py) -#configure_exec(${CMAKE_SOURCE_DIR}/python_tools/pipeline_source/buildSkyProjections.in.py -#${CMAKE_BINARY_DIR}/pipeline/miscTools buildSkyProjections.py) - -SET(python_build_environment - ${CMAKE_COMMAND} -DPYTHON_LOCAL_SITE_PACKAGE=${PYTHON_LOCAL_SITE_PACKAGE} -DVOID_GSL=${CMAKE_BINARY_DIR}/ext_build/gsl -DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE} -DTARGET_PATH=${CMAKE_BINARY_DIR}/ext_build/python -P) - -if (INSTALL_CTOOLS_IN_PYTHON) - SET(VIDE_BIN ${PYTHON_LOCAL_SITE_PACKAGE}/void_python_tools/bin) -else() - SET(VIDE_BIN ${CMAKE_INSTALL_PREFIX}/bin) -endif() -message(STATUS "Vide binary directory: ${VIDE_BIN}") - -#add_custom_target(python_pipeline ALL -# COMMAND ${python_build_environment} ${CMAKE_SOURCE_DIR}/external/python_build.cmake -# COMMAND ${python_build_environment} ${CMAKE_SOURCE_DIR}/external/python_install.cmake -# DEPENDS gsl cython netcdf4-python ${PYTHON_AUXILIARY_DEPEND} -# WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/python_tools -#) - - -subdirs(zobov c_tools) +cmake_minimum_required(VERSION 3.12..3.31) +set(CMAKE_CXX_STANDARD 11) +cmake_policy(SET CMP0135 OLD) +cmake_policy(SET CMP0148 OLD) + +project(zobovPerso) + +include(CheckCCompilerFlag) +include(ExternalProject) + +check_c_compiler_flag(-march=native SUPPORT_ARCH_NATIVE ) + + + +find_library(MATH_LIB m) +find_library(DL_LIB dl) + +macro(add_genopt _sourcelist _ggofile _basefile) + + unset(_structname) + unset(_funcname) + + if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/${_ggofile}) + set(_ggofile2 ${CMAKE_CURRENT_SOURCE_DIR}/${_ggofile}) + else(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/${_ggofile}) + set(_ggofile2 ${CMAKE_CURRENT_BINARY_DIR}/${_ggofile}) + endif(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/${_ggofile}) + + foreach(arg ${ARGN}) + if ("x${arg}" MATCHES "^x(STRUCTNAME|FUNCNAME)$") + SET(doing "${arg}") + elseif(doing STREQUAL "STRUCTNAME") + SET(_structname ${arg}) + elseif(doing STREQUAL "FUNCNAME") + SET(_funcname ${arg}) + endif() + endforeach(arg ${ARGN}) + + if(NOT DEFINED _structname) + set(_structname ${_basefile}) + endif(NOT DEFINED _structname) + + if(NOT DEFINED _funcname) + set(_funcname ${_basefile}) + endif(NOT DEFINED _funcname) + + set(_cfile ${CMAKE_CURRENT_BINARY_DIR}/${_basefile}.c) + set(_hfile ${CMAKE_CURRENT_BINARY_DIR}/${_basefile}.h) + + add_custom_command( + OUTPUT ${_cfile} ${_hfile} + COMMAND ${GENGETOPT} -i ${_ggofile2} -f ${_funcname} -a ${_structname} zobovConf_info -F ${_basefile} -C + DEPENDS ${_ggofile2} + ) + + set(${_sourcelist} ${_cfile} ${${_sourcelist}}) + +endmacro(add_genopt) + +macro(configure_exec _source _destdir _destfile) + + SET(TMP_CONFIGURE_DIR ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}) + configure_file(${_source} ${TMP_CONFIGURE_DIR}/${_destfile} @ONLY) + file(COPY ${TMP_CONFIGURE_DIR}/${_destfile} DESTINATION ${_destdir} + FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) + +endmacro(configure_exec) + +include(${CMAKE_SOURCE_DIR}/external/external_build.cmake) +include(${CMAKE_SOURCE_DIR}/external/external_cosmotool.cmake) +include(${CMAKE_SOURCE_DIR}/external/external_python_build.cmake) + +option(INSTALL_PYTHON_LOCAL OFF) +option(INSTALL_CTOOLS_IN_PYTHON OFF) +IF(PYTHON_SITE_PACKAGES) + SET(PYTHON_LOCAL_SITE_PACKAGE ${PYTHON_SITE_PACKAGES}) +ELSE() + IF (INSTALL_PYTHON_LOCAL) + SET(PYTHON_LOCAL_SITE_PACKAGE ${USER_PYTHON_SITE_PACKAGES}) + ELSE() + SET(PYTHON_LOCAL_SITE_PACKAGE ${SYSTEM_PYTHON_SITE_PACKAGES}) + ENDIF() +ENDIF() + +SET(PYTHONPATH ${PYTHON_LOCAL_SITE_PACKAGE}) +configure_exec(${CMAKE_SOURCE_DIR}/python_tools/pipeline_source/prepareInputs.in.py +${CMAKE_BINARY_DIR}/pipeline prepareInputs.py) +#configure_exec(${CMAKE_SOURCE_DIR}/python_tools/pipeline_source/applyMaskToMock.in.py +#${CMAKE_BINARY_DIR}/pipeline applyMaskToMock.py) +#configure_exec(${CMAKE_SOURCE_DIR}/python_tools/pipeline_source/buildSkyProjections.in.py +#${CMAKE_BINARY_DIR}/pipeline/miscTools buildSkyProjections.py) + +SET(python_build_environment + ${CMAKE_COMMAND} -DPYTHON_LOCAL_SITE_PACKAGE=${PYTHON_LOCAL_SITE_PACKAGE} -DVOID_GSL=${CMAKE_BINARY_DIR}/ext_build/gsl -DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE} -DTARGET_PATH=${CMAKE_BINARY_DIR}/ext_build/python -P) + +if (INSTALL_CTOOLS_IN_PYTHON) + SET(VIDE_BIN ${PYTHON_LOCAL_SITE_PACKAGE}/void_python_tools/bin) +else() + SET(VIDE_BIN ${CMAKE_INSTALL_PREFIX}/bin) +endif() +message(STATUS "Vide binary directory: ${VIDE_BIN}") + +#add_custom_target(python_pipeline ALL +# COMMAND ${python_build_environment} ${CMAKE_SOURCE_DIR}/external/python_build.cmake +# COMMAND ${python_build_environment} ${CMAKE_SOURCE_DIR}/external/python_install.cmake +# DEPENDS gsl cython netcdf4-python ${PYTHON_AUXILIARY_DEPEND} +# WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/python_tools +#) + + +subdirs(zobov c_tools) diff --git a/c_tools/hod/halo_concentration.c b/c_tools/hod/halo_concentration.c index 71f0f9b..238a878 100644 --- a/c_tools/hod/halo_concentration.c +++ b/c_tools/hod/halo_concentration.c @@ -78,7 +78,7 @@ double halo_concentration(double m) double cvir_model(double mass) { - double cvir,z_coll,zbrent(),rad; + double cvir,z_coll,rad; double k=3.12; double f=0.001; diff --git a/c_tools/hod/hod_functions.c b/c_tools/hod/hod_functions.c index e7003d5..e929e7b 100644 --- a/c_tools/hod/hod_functions.c +++ b/c_tools/hod/hod_functions.c @@ -542,7 +542,7 @@ double func_central_density(double m) */ double number_weighted_halo_mass() { - double funcxx1(); + double funcxx1(double); return(qromo(funcxx1,log(HOD.M_low),log(HOD.M_max),midpnt)/GALAXY_DENSITY); } double funcxx1(double m) @@ -556,7 +556,7 @@ double funcxx1(double m) */ double number_weighted_central_mass() { - double funcxx2(); + double funcxx2(double); return(qromo(funcxx2,log(HOD.M_low),log(HOD.M_max),midpnt)/ qromo(func_central_density,log(HOD.M_low),log(HOD.M_max),midpnt)); } diff --git a/c_tools/hod/xi_matter.c b/c_tools/hod/xi_matter.c index 2bec7b4..c597073 100644 --- a/c_tools/hod/xi_matter.c +++ b/c_tools/hod/xi_matter.c @@ -32,7 +32,7 @@ double xi_interp(double r) static int flag=0,prev_cosmo=0; static double *x,*y,*y2; int n=30,i,j; - double a,xi_int(),rhi=95,rlo=0.1,dlogr,klo,s1,s2,tolerance=1.0e-6; + double a,rhi=95,rlo=0.1,dlogr,klo,s1,s2,tolerance=1.0e-6; if(!flag || RESET_COSMOLOGY!=prev_cosmo) { @@ -99,7 +99,7 @@ double xi_linear_interp(double r) static double *x,*y,*y2; int n=100,i; double a,rlo=0.1,rhi=150,dlogr,klo; - double xi_linear_int(); + double xi_linear_int(double); if(!flag || RESET_COSMOLOGY!=prev_cosmo) { diff --git a/c_tools/hod/zbrent.c b/c_tools/hod/zbrent.c index 122ff23..efe263d 100644 --- a/c_tools/hod/zbrent.c +++ b/c_tools/hod/zbrent.c @@ -8,7 +8,6 @@ double zbrent(double (*func)(double), double x1,double x2, double tol) int iter; double a=x1,b=x2,c,d,e,min1,min2; double fa=(*func)(a),fb=(*func)(b),fc,p,q,r,s,tol1,xm; - void nrerror(); if (fb*fa > 0.0) { diff --git a/external/external_build.cmake b/external/external_build.cmake index 0abb8f7..59b4bfb 100644 --- a/external/external_build.cmake +++ b/external/external_build.cmake @@ -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,7 +111,9 @@ 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 + -DHDF5_ENABLE_NONSTANDARD_FEATURE_FLOAT16=OFF BUILD_BYPRODUCTS ${EXT_INSTALL}/lib/libhdf5-static.a ${EXT_INSTALL}/lib/libhdf5_cpp.a ) SET(hdf5_built hdf5) @@ -151,39 +154,68 @@ 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} + -DCMAKE_INSTALL_LIBDIR=lib + -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 + BUILD_BYPRODUCTS ${EXT_INSTALL}/lib/libnetcdf.a + #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 + -DCMAKE_INSTALL_LIBDIR=lib + BUILD_BYPRODUCTS ${EXT_INSTALL}/lib/libnetcdf-cxx4.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}") SET(EXTRA_NC_FLAGS CPPFLAGS=${CONFIGURE_CPP_FLAGS} LDFLAGS=${CONFIGURE_CPP_LDFLAGS}) SET(cosmotool_DEPS ${cosmotool_DEPS} netcdf netcdf_cxx) SET(NETCDF_LIBRARY ${NETCDF_BIN_DIR}/lib/libnetcdf.a CACHE STRING "NetCDF lib" FORCE) - SET(NETCDFCPP_LIBRARY ${NETCDF_BIN_DIR}/lib/libnetcdf_c++4.a CACHE STRING "NetCDF-C++ lib" FORCE) + SET(NETCDFCPP_LIBRARY ${NETCDF_BIN_DIR}/lib/libnetcdf-cxx4.a CACHE STRING "NetCDF-C++ lib" FORCE) SET(NETCDF_INCLUDE_PATH ${NETCDF_BIN_DIR}/include CACHE STRING "NetCDF include" FORCE) SET(NETCDFCPP_INCLUDE_PATH ${NETCDF_INCLUDE_PATH} CACHE STRING "NetCDF C++ include path" FORCE) @@ -297,8 +329,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 +350,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 ${CMAKE_COMMAND} -E env FITSDIR=${EXT_INSTALL}/lib FITSINC=${EXT_INSTALL}/include ./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 ${HEALPIX_DIR}/include/healpix_cxx) # ${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}) @@ -346,6 +383,7 @@ if (INTERNAL_QHULL) -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/ext_build/qhull -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} + -DCMAKE_POLICY_VERSION_MINIMUM=3.5 ) SET(QHULL_DIR ${CMAKE_BINARY_DIR}/ext_build/qhull) diff --git a/external/external_cosmotool.cmake b/external/external_cosmotool.cmake index c7db743..f758938 100644 --- a/external/external_cosmotool.cmake +++ b/external/external_cosmotool.cmake @@ -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/ee8f4c3135c0ae8e4a421df8dd3ea832d8724542.tar.gz DEPENDS ${cosmotool_DEPS} SOURCE_DIR ${COSMOTOOL_DIR} PREFIX ${BUILD_PREFIX}/cosmotool-prefix