mirror of
https://bitbucket.org/cosmicvoids/vide_public.git
synced 2025-07-04 15:21:11 +00:00
Merged in python3 (pull request #5)
Port to python3, large code cleanup * Fixed command line for cosmotool * Fix path * Dump command line is log file * Fix important typo * Modify paths for example * Fix path again * Use an explicit constructor * Change file to open (python 2->3) * python3 fix for xrange in periodic_kdtree.py * Fixed index for Np, numPart, numZones, numZonesTot, partID, zoneID in catalogUtil.py
This commit is contained in:
parent
8249256508
commit
affb56ff48
392 changed files with 4092 additions and 260938 deletions
217
external/external_build.cmake
vendored
217
external/external_build.cmake
vendored
|
@ -12,6 +12,7 @@ IF(ENABLE_OPENMP)
|
|||
ENDIF(ENABLE_OPENMP)
|
||||
|
||||
SET(BUILD_PREFIX ${CMAKE_BINARY_DIR}/ep_build)
|
||||
SET(EXT_INSTALL ${CMAKE_BINARY_DIR}/ext_install)
|
||||
|
||||
SET(INTERNAL_FFTW OFF)
|
||||
OPTION(INTERNAL_GSL "Use internal GSL" ON)
|
||||
|
@ -27,37 +28,41 @@ IF(INTERNAL_GENGETOPT)
|
|||
ENDIF(INTERNAL_GENGETOPT)
|
||||
|
||||
IF(INTERNAL_HDF5)
|
||||
SET(HDF5_URL "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8/hdf5-1.8.15/src/hdf5-1.8.15.tar.gz" CACHE STRING "URL to download HDF5 from")
|
||||
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")
|
||||
mark_as_advanced(HDF5_URL)
|
||||
ENDIF(INTERNAL_HDF5)
|
||||
|
||||
IF(INTERNAL_NETCDF)
|
||||
SET(NETCDF_URL "http://www.unidata.ucar.edu/downloads/netcdf/ftp/netcdf-4.1.3.tar.gz" CACHE STRING "URL to download NetCDF from")
|
||||
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")
|
||||
mark_as_advanced(NETCDF_URL)
|
||||
ENDIF(INTERNAL_NETCDF)
|
||||
|
||||
IF(INTERNAL_BOOST)
|
||||
SET(BOOST_URL "http://sourceforge.net/projects/boost/files/boost/1.56.0/boost_1_56_0.tar.gz/download" CACHE STRING "URL to download Boost from")
|
||||
SET(BOOST_URL "http://sourceforge.net/projects/boost/files/boost/1.69.0/boost_1_69_0.tar.gz/download" CACHE STRING "URL to download Boost from")
|
||||
mark_as_advanced(BOOST_URL)
|
||||
ELSE(INTERNAL_BOOST)
|
||||
find_package(Boost 1.49.0 COMPONENTS format spirit phoenix python FATAL_ERROR)
|
||||
find_package(Boost 1.69.0 COMPONENTS format spirit phoenix python FATAL_ERROR)
|
||||
ENDIF(INTERNAL_BOOST)
|
||||
|
||||
IF(INTERNAL_GSL)
|
||||
SET(GSL_URL "ftp://ftp.gnu.org/gnu/gsl/gsl-1.15.tar.gz" CACHE STRING "URL to download GSL from ")
|
||||
mark_as_advanced(GSL_URL)
|
||||
ENDIF(INTERNAL_GSL)
|
||||
|
||||
IF(INTERNAL_QHULL)
|
||||
SET(QHULL_URL "http://www.qhull.org/download/qhull-2012.1-src.tgz" CACHE STRING "URL to download QHull from")
|
||||
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")
|
||||
mark_as_advanced(HEALPIX_URL)
|
||||
|
||||
|
||||
find_library(ZLIB_LIBRARY z)
|
||||
find_library(DL_LIBRARY dl)
|
||||
|
||||
SET(CONFIGURE_CPP_FLAGS "${EXTRA_CPP_FLAGS}")
|
||||
SET(CONFIGURE_LD_FLAGS "${EXTRA_LD_FLAGS}")
|
||||
string(REPLACE ":" ";" OUT_LIBRARY_PATH "$ENV{LIBRARY_PATH}")
|
||||
foreach(P ${OUT_LIBRARY_PATH})
|
||||
SET(CONFIGURE_LD_FLAGS "${CONFIGURE_LD_FLAGS} -L${P}")
|
||||
endforeach()
|
||||
message(STATUS "Extra flags for configure: ${CONFIGURE_LD_FLAGS}")
|
||||
|
||||
|
||||
##################
|
||||
|
@ -66,7 +71,7 @@ SET(CONFIGURE_LD_FLAGS "${EXTRA_LD_FLAGS}")
|
|||
|
||||
if (INTERNAL_GENGETOPT)
|
||||
SET(GENGETOPT_SOURCE_DIR ${BUILD_PREFIX}/gengetopt-prefix/src/gengetopt)
|
||||
SET(GENGETOPT_BIN_DIR ${CMAKE_BINARY_DIR}/ext_build/gengetopt)
|
||||
SET(GENGETOPT_BIN_DIR ${EXT_INSTALL})
|
||||
ExternalProject_Add(gengetopt
|
||||
PREFIX ${BUILD_PREFIX}/gengetopt-prefix
|
||||
URL ${GENGETOPT_URL}
|
||||
|
@ -76,7 +81,6 @@ if (INTERNAL_GENGETOPT)
|
|||
LDFLAGS=${CONFIGURE_LD_FLAGS}
|
||||
CC=${CMAKE_C_COMPILER}
|
||||
CXX=${CMAKE_CXX_COMPILER}
|
||||
BUILD_IN_SOURCE 1
|
||||
INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} install
|
||||
)
|
||||
SET(GENGETOPT ${GENGETOPT_BIN_DIR}/bin/gengetopt CACHE FILEPATH "Path GenGetOpt binary")
|
||||
|
@ -90,39 +94,44 @@ mark_as_advanced(GENGETOPT)
|
|||
###############
|
||||
|
||||
if (INTERNAL_HDF5)
|
||||
|
||||
SET(HDF5_SOURCE_DIR ${BUILD_PREFIX}/hdf5-prefix/src/hdf5)
|
||||
SET(HDF5_BIN_DIR ${CMAKE_BINARY_DIR}/ext_build/hdf5)
|
||||
SET(HDF5_BIN_DIR ${EXT_INSTALL})
|
||||
ExternalProject_Add(hdf5
|
||||
PREFIX ${BUILD_PREFIX}/hdf5-prefix
|
||||
URL ${HDF5_URL}
|
||||
CONFIGURE_COMMAND ${HDF5_SOURCE_DIR}/configure
|
||||
--disable-shared --enable-cxx --with-pic
|
||||
--prefix=${HDF5_BIN_DIR} --libdir=${HDF5_BIN_DIR}/lib
|
||||
CPPFLAGS=${CONFIGURE_CPP_FLAGS} CC=${CMAKE_C_COMPILER}
|
||||
CXX=${CMAKE_CXX_COMPILER}
|
||||
BUILD_IN_SOURCE 1
|
||||
INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} install
|
||||
URL_HASH MD5=e115eeb66e944fa7814482415dd21cc4
|
||||
CMAKE_ARGS
|
||||
-DCMAKE_INSTALL_PREFIX=${EXT_INSTALL}
|
||||
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
|
||||
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
|
||||
-DHDF5_BUILD_CPP_LIB=ON
|
||||
-DHDF5_BUILD_TOOLS=ON
|
||||
-DHDF5_BUILD_HL_LIB=ON
|
||||
-DBUILD_SHARED_LIBS=ON
|
||||
BUILD_BYPRODUCTS ${EXT_INSTALL}/lib/libhdf5-static.a ${EXT_INSTALL}/lib/libhdf5_cpp.a
|
||||
)
|
||||
SET(cosmotool_DEPS ${cosmotool_DEPS} hdf5)
|
||||
SET(hdf5_built hdf5)
|
||||
set(HDF5_LIBRARY ${HDF5_BIN_DIR}/lib/libhdf5.a CACHE STRING "HDF5 lib" FORCE)
|
||||
set(HDF5_CPP_LIBRARY ${HDF5_BIN_DIR}/lib/libhdf5_cpp.a CACHE STRING "HDF5 C++ lib" FORCE)
|
||||
set(HDF5HL_LIBRARY ${HDF5_BIN_DIR}/lib/libhdf5_hl.a CACHE STRING "HDF5-HL lib" FORCE)
|
||||
set(HDF5HL_CPP_LIBRARY ${HDF5_BIN_DIR}/lib/libhdf5_hl_cpp.a CACHE STRING "HDF5-HL C++ lib" FORCE)
|
||||
SET(HDF5_INCLUDE_PATH ${HDF5_BIN_DIR}/include CACHE STRING "HDF5 include path" FORCE)
|
||||
SET(ENV{HDF5_ROOT} ${HDF5_BIN_DIR})
|
||||
SET(HDF5_ROOTDIR ${HDF5_BIN_DIR})
|
||||
set(HDF5_LIBRARIES ${HDF5_BIN_DIR}/lib/libhdf5.a CACHE STRING "HDF5 lib" FORCE)
|
||||
set(HDF5_HL_LIBRARIES ${HDF5_BIN_DIR}/lib/libhdf5_hl.a CACHE STRING "HDF5 lib" FORCE)
|
||||
set(HDF5_CXX_LIBRARIES ${HDF5_BIN_DIR}/lib/libhdf5_cpp.a CACHE STRING "HDF5 C++ lib" FORCE)
|
||||
SET(HDF5_INCLUDE_DIR ${HDF5_BIN_DIR}/include CACHE STRING "HDF5 include path" FORCE)
|
||||
SET(CONFIGURE_LDFLAGS "${CONFIGURE_LDFLAGS} -L${HDF5_BIN_DIR}/lib")
|
||||
SET(HDF5_ROOTDIR ${HDF5_BIN_DIR})
|
||||
SET(ares_DEPS ${ares_DEPS} hdf5)
|
||||
mark_as_advanced(HDF5_LIBRARIES HDF5_HL_LIBRARIES HDF5_CXX_LIBRARIES HDF5_INCLUDE_DIR)
|
||||
else(INTERNAL_HDF5)
|
||||
find_path(HDF5_INCLUDE_PATH hdf5.h)
|
||||
find_library(HDF5_LIBRARY hdf5)
|
||||
find_library(HDF5_CPP_LIBRARY hdf5_cpp)
|
||||
find_library(HDF5HL_CPP_LIBRARY hdf5_hl_cpp)
|
||||
find_library(HDF5HL_LIBRARY hdf5_hl)
|
||||
mark_as_advanced(CLEAR HDF5_LIBRARIES HDF5_CXX_LIBRARIES HDF5_INCLUDE_DIR)
|
||||
find_package(HDF5 COMPONENTS CXX)
|
||||
SET(HDF5_ROOTDIR ${HDF5_BIN_DIR})
|
||||
SET(HDF5_INCLUDE_DIR ${HDF5_INCLUDE_DIRS})
|
||||
endif (INTERNAL_HDF5)
|
||||
SET(CONFIGURE_CPP_FLAGS "${CONFIGURE_CPP_FLAGS} -I${HDF5_INCLUDE_PATH}")
|
||||
|
||||
IF(HDF5_INCLUDE_DIR)
|
||||
SET(CONFIGURE_CPP_FLAGS "${CONFIGURE_CPP_FLAGS} -I${HDF5_INCLUDE_DIR}")
|
||||
ENDIF()
|
||||
SET(CONFIGURE_LIBS_FLAGS "${DL_LIB}")
|
||||
mark_as_advanced(HDF5_INCLUDE_PATH HDF5_LIBRARY HDF5_CPP_LIBRARY HDF5HL_LIBRARY HDF5HL_CPP_LIBRARY)
|
||||
mark_as_advanced(HDF5_INCLUDE_PATH HDF5_LIBRARIES HDF5_HL_LIBRARIES HDF5_CXX_LIBRARIES)
|
||||
|
||||
###############
|
||||
# Build NetCDF
|
||||
|
@ -131,10 +140,11 @@ mark_as_advanced(HDF5_INCLUDE_PATH HDF5_LIBRARY HDF5_CPP_LIBRARY HDF5HL_LIBRARY
|
|||
|
||||
if (INTERNAL_NETCDF)
|
||||
SET(NETCDF_SOURCE_DIR ${BUILD_PREFIX}/netcdf-prefix/src/netcdf)
|
||||
SET(NETCDF_BIN_DIR ${CMAKE_BINARY_DIR}/ext_build/netcdf)
|
||||
SET(NETCDF_CXX_SOURCE_DIR ${BUILD_PREFIX}/netcdf-cxx-prefix/src/netcdf_cxx)
|
||||
SET(NETCDF_BIN_DIR ${EXT_INSTALL})
|
||||
SET(CONFIGURE_CPP_FLAGS "${CONFIGURE_CPP_FLAGS} -I${NETCDF_BIN_DIR}/include")
|
||||
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})
|
||||
SET(CONFIGURE_LD_FLAGS "${CONFIGURE_LD_FLAGS} -L${NETCDF_BIN_DIR}/lib")
|
||||
SET(EXTRA_NC_FLAGS CPPFLAGS=${CONFIGURE_CPP_FLAGS} LDFLAGS=${CONFIGURE_LD_FLAGS} LIBS=${CONFIGURE_LIBS_FLAGS})
|
||||
ExternalProject_Add(netcdf
|
||||
DEPENDS ${hdf5_built}
|
||||
PREFIX ${BUILD_PREFIX}/netcdf-prefix
|
||||
|
@ -144,7 +154,7 @@ if (INTERNAL_NETCDF)
|
|||
-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 ${NETCDF_SOURCE_DIR}/configure
|
||||
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
|
||||
|
@ -153,11 +163,25 @@ if (INTERNAL_NETCDF)
|
|||
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
|
||||
)
|
||||
|
||||
SET(CONFIGURE_CPP_LDFLAGS "${CONFIGURE_LDFLAGS}")
|
||||
SET(EXTRA_NC_FLAGS CPPFLAGS=${CONFIGURE_CPP_FLAGS} LDFLAGS=${CONFIGURE_CPP_LDFLAGS})
|
||||
SET(cosmotool_DEPS ${cosmotool_DEPS} netcdf)
|
||||
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++.a CACHE STRING "NetCDF-C++ lib" FORCE)
|
||||
SET(NETCDFCPP_LIBRARY ${NETCDF_BIN_DIR}/lib/libnetcdf_c++4.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)
|
||||
|
||||
|
@ -176,19 +200,19 @@ mark_as_advanced(NETCDF_LIBRARY NETCDFCPP_LIBRARY NETCDF_INCLUDE_PATH NETCDFCPP_
|
|||
##################
|
||||
|
||||
if (INTERNAL_BOOST)
|
||||
SET(BOOST_SOURCE_DIR ${BUILD_PREFIX}/boost-prefix/src/boost)
|
||||
SET(cosmotool_DEPS ${cosmotool_DEPS} boost)
|
||||
SET(BOOST_SOURCE_DIR ${BUILD_PREFIX}/boost-prefix/src/boost)
|
||||
ExternalProject_Add(boost
|
||||
URL ${BOOST_URL}
|
||||
PREFIX ${BUILD_PREFIX}/boost-prefix
|
||||
CONFIGURE_COMMAND
|
||||
${BOOST_SOURCE_DIR}/bootstrap.sh --prefix=${CMAKE_BINARY_DIR}/ext_build/boost
|
||||
CONFIGURE_COMMAND ${BOOST_SOURCE_DIR}/bootstrap.sh --prefix=${EXT_INSTALL}
|
||||
BUILD_IN_SOURCE 1
|
||||
BUILD_COMMAND ${BOOST_SOURCE_DIR}/b2 --with-exception --with-python
|
||||
INSTALL_COMMAND echo "No install"
|
||||
BUILD_COMMAND ${BOOST_SOURCE_DIR}/b2 --with-exception
|
||||
INSTALL_COMMAND ${BOOST_SOURCE_DIR}/b2 install --with-exception
|
||||
)
|
||||
set(Boost_INCLUDE_DIRS ${BOOST_SOURCE_DIR} CACHE STRING "Boost path" FORCE)
|
||||
set(Boost_LIBRARIES ${BOOST_SOURCE_DIR}/stage/lib/libboost_python.a CACHE STRING "Boost libraries" FORCE)
|
||||
set(Boost_INTERNAL_INSTALL ${EXT_INSTALL})
|
||||
## set(Boost_LIBRARIES ${BOOST_SOURCE_DIR}/stage/lib/libboost_python.a CACHE STRING "Boost libraries" FORCE)
|
||||
endif (INTERNAL_BOOST)
|
||||
mark_as_advanced(Boost_INCLUDE_DIRS Boost_LIBRARIES)
|
||||
|
||||
|
@ -197,81 +221,86 @@ mark_as_advanced(Boost_INCLUDE_DIRS Boost_LIBRARIES)
|
|||
##################
|
||||
|
||||
IF(INTERNAL_GSL)
|
||||
SET(GSL_URL "http://ftpmirror.gnu.org/gsl/gsl-2.3.tar.gz" CACHE STRING "URL to download GSL from ")
|
||||
mark_as_advanced(GSL_URL)
|
||||
|
||||
SET(GSL_SOURCE_DIR ${BUILD_PREFIX}/gsl-prefix/src/gsl)
|
||||
ExternalProject_Add(gsl
|
||||
URL ${GSL_URL}
|
||||
PREFIX ${BUILD_PREFIX}/gsl-prefix
|
||||
CONFIGURE_COMMAND ${GSL_SOURCE_DIR}/configure
|
||||
--prefix=${CMAKE_BINARY_DIR}/ext_build/gsl --disable-shared
|
||||
--with-pic --libdir=${CMAKE_BINARY_DIR}/ext_build/gsl/lib
|
||||
--prefix=${EXT_INSTALL} --disable-shared
|
||||
--with-pic --libdir=${EXT_INSTALL}/lib
|
||||
CPPFLAGS=${CONFIGURE_CPP_FLAGS} CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER}
|
||||
BUILD_IN_SOURCE 1
|
||||
BUILD_COMMAND ${CMAKE_MAKE_PROGRAM}
|
||||
INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} install
|
||||
BUILD_BYPRODUCTS ${EXT_INSTALL}/lib/libgsl.a ${EXT_INSTALL}/lib/libgslcblas.a
|
||||
)
|
||||
SET(GSL_INTERNAL_LIBS ${CMAKE_BINARY_DIR}/ext_build/gsl/lib)
|
||||
SET(GSL_INTERNAL_LIBS ${EXT_INSTALL}/lib)
|
||||
SET(GSL_LIBRARY ${GSL_INTERNAL_LIBS}/libgsl.a CACHE STRING "GSL internal path" FORCE)
|
||||
SET(GSLCBLAS_LIBRARY ${GSL_INTERNAL_LIBS}/libgslcblas.a CACHE STRING "GSL internal path" FORCE)
|
||||
set(GSL_INCLUDE_PATH ${CMAKE_BINARY_DIR}/ext_build/gsl/include CACHE STRING "GSL internal path" FORCE)
|
||||
SET(GSL_CBLAS_LIBRARY ${GSL_INTERNAL_LIBS}/libgslcblas.a CACHE STRING "GSL internal path" FORCE)
|
||||
set(GSL_INCLUDE ${CMAKE_BINARY_DIR}/ext_install/include CACHE STRING "GSL internal path" FORCE)
|
||||
SET(cosmotool_DEPS ${cosmotool_DEPS} gsl)
|
||||
mark_as_advanced(GSL_LIBRARY GSL_INCLUDE GSL_CBLAS_LIBRARY)
|
||||
ELSE(INTERNAL_GSL)
|
||||
find_library(GSL_LIBRARY gsl)
|
||||
find_library(GSLCBLAS_LIBRARY gslcblas)
|
||||
find_path(GSL_INCLUDE_PATH NAMES gsl/gsl_blas.h)
|
||||
mark_as_advanced(CLEAR GSL_LIBRARY GSL_INCLUDE GSL_CBLAS_LIBRARY)
|
||||
if (NOT DEFINED GSL_LIBRARY OR NOT GSL_LIBRARY)
|
||||
find_library(GSL_LIBRARY gsl)
|
||||
endif()
|
||||
if (NOT DEFINED GSL_CBLAS_LIBRARY OR NOT GSL_CBLAS_LIBRARY)
|
||||
find_library(GSL_CBLAS_LIBRARY gslcblas)
|
||||
endif()
|
||||
if (NOT DEFINED GSL_INCLUDES OR NOT GSL_INCLUDES)
|
||||
find_path(GSL_INCLUDE NAMES gsl/gsl_blas.h )
|
||||
endif()
|
||||
if (NOT (GSL_LIBRARY OR GSL_CBLAS_LIBRARY OR GSL_INCLUDE))
|
||||
message(FATAL_ERROR "GSL has not been found")
|
||||
endif()
|
||||
ENDIF(INTERNAL_GSL)
|
||||
mark_as_advanced(GSL_LIBRARY GSLCBLAS_LIBRARY GSL_INCLUDE_PATH)
|
||||
message(STATUS "GSL paths: ${GSL_LIBRARY} ${GSL_CBLAS_LIBRARY} ${GSL_INCLUDE}")
|
||||
|
||||
|
||||
#################
|
||||
# Build cfitsio
|
||||
#################
|
||||
|
||||
ExternalProject_Add(cfitsio
|
||||
SOURCE_DIR ${CMAKE_SOURCE_DIR}/external/cfitsio
|
||||
URL file://${CMAKE_SOURCE_DIR}/external/cfitsio-3.47.tar.gz
|
||||
URL_HASH SHA1=5a25016dcaf12117d950e4278e10d39c6c7d33a5
|
||||
PREFIX ${BUILD_PREFIX}/cfitsio-prefix
|
||||
CONFIGURE_COMMAND
|
||||
${CMAKE_SOURCE_DIR}/external/cfitsio/configure
|
||||
--prefix=${CMAKE_BINARY_DIR}/ext_build/cfitsio --libdir=${CMAKE_BINARY_DIR}/ext_build/cfitsio/lib
|
||||
CPPFLAGS=${CONFIGURE_CPP_FLAGS}
|
||||
CC=${CMAKE_C_COMPILER}
|
||||
CXX=${CMAKE_CXX_COMPILER}
|
||||
BUILD_COMMAND ${CMAKE_MAKE_PROGRAM}
|
||||
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
|
||||
INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} install
|
||||
BUILD_BYPRODUCTS ${EXT_INSTALL}/lib/libcfitsio.a
|
||||
)
|
||||
SET(CFITSIO_PREFIX ${CMAKE_BINARY_DIR}/ext_build/cfitsio)
|
||||
SET(CFITSIO_LIBRARY ${CFITSIO_PREFIX}/lib/libcfitsio.a)
|
||||
SET(CFITSIO_INCLUDE_PATH ${CFITSIO_PREFIX}/include)
|
||||
|
||||
SET(CFITSIO_LIBRARY ${EXT_INSTALL}/lib/libcfitsio.a)
|
||||
SET(CFITSIO_INCLUDE_PATH ${EXT_INSTALL}/include)
|
||||
|
||||
#################
|
||||
# Build Healpix
|
||||
#################
|
||||
SET(HEALPIX_BUILD ${BUILD_PREFIX}/healpix-prefix/src/healpix-build)
|
||||
SET(HEALPIX_DIR ${BUILD_PREFIX}/healpix-prefix/src/healpix)
|
||||
|
||||
ExternalProject_Add(healpix
|
||||
DEPENDS cfitsio
|
||||
PREFIX ${BUILD_PREFIX}/healpix-prefix
|
||||
SOURCE_DIR ${CMAKE_SOURCE_DIR}/external/healpix
|
||||
CONFIGURE_COMMAND echo No configure
|
||||
BUILD_COMMAND ${CMAKE_MAKE_PROGRAM}
|
||||
HEALPIX_TARGET=sampler
|
||||
HEALPIX_CC=${CMAKE_C_COMPILER}
|
||||
HEALPIX_CXX=${CMAKE_CXX_COMPILER}
|
||||
HEALPIX_BASE_PATH=${CMAKE_BINARY_DIR}
|
||||
OMP_SUPPORT=${ENABLE_OPENMP}
|
||||
EXTRA_CPPFLAGS=${CONFIGURE_CPP_FLAGS}
|
||||
OMP_FLAGS=${OpenMP_C_FLAGS}
|
||||
BUILD_IN_SOURCE 1
|
||||
INSTALL_COMMAND ${CMAKE_COMMAND} -DHEALPIX_DIR:STRING=${CMAKE_SOURCE_DIR}/external/healpix -DDEST_DIR:STRING=${CMAKE_BINARY_DIR}/ext_build/healpix -P ${CMAKE_SOURCE_DIR}/external/install_healpix.cmake
|
||||
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
|
||||
)
|
||||
set(HPIX_LIBPATH ${CMAKE_BINARY_DIR}/ext_build/healpix/lib)
|
||||
set(HPIX_LIBPATH ${EXT_INSTALL}/lib)
|
||||
set(HEALPIX_LIBRARY ${HPIX_LIBPATH}/libhealpix_cxx.a)
|
||||
set(FFTPACK_LIBRARY ${HPIX_LIBPATH}/libfftpack.a)
|
||||
set(CXXSUPPORT_LIBRARY ${HPIX_LIBPATH}/libcxxsupport.a)
|
||||
set(PSHT_LIBRARY ${HPIX_LIBPATH}/libpsht.a)
|
||||
set(CUTILS_LIBRARY ${HPIX_LIBPATH}/libc_utils.a)
|
||||
|
||||
SET(HEALPIX_INCLUDE_PATH ${CMAKE_BINARY_DIR}/ext_build/healpix/include)
|
||||
SET(HEALPIX_LIBRARIES ${HEALPIX_LIBRARY} ${FFTPACK_LIBRARY} ${CXXSUPPORT_LIBRARY} ${PSHT_LIBRARY} ${CUTILS_LIBRARY} ${CFITSIO_LIBRARY} )
|
||||
set(GSL_LIBRARIES ${GSL_LIBRARY} ${GSLCBLAS_LIBRARY})
|
||||
SET(NETCDF_LIBRARIES ${NETCDFCPP_LIBRARY} ${NETCDF_LIBRARY} ${HDF5HL_LIBRARY} ${HDF5_LIBRARY} ${ZLIB_LIBRARY})
|
||||
SET(HEALPIX_INCLUDE_PATH ${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})
|
||||
|
||||
###############
|
||||
# Build QHull
|
||||
|
@ -335,3 +364,5 @@ include_directories(${CMAKE_BINARY_DIR}/src
|
|||
${HDF5_INCLUDE_PATH}
|
||||
${Boost_INCLUDE_DIRS}
|
||||
${QHULL_INCLUDE_PATH} ${LIBSDF_INCLUDE_PATH})
|
||||
|
||||
message(STATUS "Boost_INTERNAL_INSTALL=${Boost_INTERNAL_INSTALL}")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue