mirror of
https://bitbucket.org/cosmicvoids/vide_public.git
synced 2025-07-04 23:31:12 +00:00
Removed FindHealpix as we have now an internal healpix package. Added gengetopt as a dependency to build. Fixed library broken linkage.
This commit is contained in:
parent
51f6798f88
commit
2e9a820d34
3 changed files with 64 additions and 43 deletions
59
external/external_build.cmake
vendored
59
external/external_build.cmake
vendored
|
@ -1,8 +1,29 @@
|
|||
include(FindOpenMP)
|
||||
|
||||
OPTION(ENABLE_OPENMP "Set to Yes if Healpix and/or you need openMP" OFF)
|
||||
|
||||
IF(ENABLE_OPENMP)
|
||||
|
||||
IF (NOT OPENMP_FOUND)
|
||||
MESSAGE(ERROR "No known compiler option for enabling OpenMP")
|
||||
ENDIF(NOT OPENMP_FOUND)
|
||||
|
||||
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
|
||||
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKED_FLAGS} ${OpenMP_C_FLAGS}")
|
||||
|
||||
ENDIF(ENABLE_OPENMP)
|
||||
|
||||
SET(INTERNAL_FFTW OFF)
|
||||
SET(INTERNAL_GSL ON)
|
||||
SET(INTERNAL_BOOST ON)
|
||||
SET(INTERNAL_NETCDF ON)
|
||||
SET(INTERNAL_HDF5 ON)
|
||||
SET(INTERNAL_GENGETOPT ON)
|
||||
|
||||
IF(INTERNAL_GENGETOPT)
|
||||
SET(GENGETOPT_URL "ftp://ftp.gnu.org/gnu/gengetopt/gengetopt-2.22.5.tar.gz" CACHE STRING "URL to download gengetopt from")
|
||||
ENDIF(INTERNAL_GENGETOPT)
|
||||
|
||||
IF(INTERNAL_HDF5)
|
||||
SET(HDF5_URL "http://www.hdfgroup.org/ftp/HDF5/current/src/hdf5-1.8.9.tar.gz" CACHE STRING "URL to download HDF5 from")
|
||||
|
@ -28,6 +49,30 @@ find_program(GENGETOPT gengetopt)
|
|||
SET(CONFIGURE_CPP_FLAGS "${EXTRA_CPP_FLAGS}")
|
||||
SET(CONFIGURE_LD_FLAGS "${EXTRA_LD_FLAGS}")
|
||||
|
||||
|
||||
##################
|
||||
# Build gengetopt
|
||||
##################
|
||||
|
||||
if (INTERNAL_GENGETOPT)
|
||||
SET(GENGETOPT_SOURCE_DIR ${CMAKE_BINARY_DIR}/gengetopt-prefix/src/gengetopt)
|
||||
SET(GENGETOPT_BIN_DIR ${CMAKE_BINARY_DIR}/ext_build/gengetopt)
|
||||
ExternalProject_Add(gengetopt
|
||||
URL ${GENGETOPT_URL}
|
||||
CONFIGURE_COMMAND ${GENGETOPT_SOURCE_DIR}/configure
|
||||
--prefix=${GENGETOPT_BIN_DIR}
|
||||
CPPFLAGS=${CONFIGURE_CPP_FLAGS}
|
||||
LDFLAGS=${CONFIGURE_LD_FLAGS}
|
||||
CC=${CMAKE_C_COMPILER}
|
||||
CXX=${CMAKE_CXX_COMPILER}
|
||||
BUILD_IN_SOURCE 1
|
||||
INSTALL_COMMAND make install
|
||||
)
|
||||
SET(GENGETOPT ${GENGETOPT_BIN_DIR}/bin/gengetopt)
|
||||
else(INTERNAL_GENGETOPT)
|
||||
find_program(GENGETOPT gengetopt)
|
||||
endif(INTERNAL_GENGETOPT)
|
||||
|
||||
###############
|
||||
# Build HDF5
|
||||
###############
|
||||
|
@ -44,7 +89,9 @@ if (INTERNAL_HDF5)
|
|||
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})
|
||||
|
@ -52,6 +99,8 @@ if (INTERNAL_HDF5)
|
|||
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)
|
||||
endif (INTERNAL_HDF5)
|
||||
SET(CONFIGURE_CPP_FLAGS "${CONFIGURE_CPP_FLAGS} -I${HDF5_INCLUDE_PATH}")
|
||||
|
@ -164,7 +213,14 @@ ExternalProject_Add(healpix
|
|||
DEPENDS cfitsio
|
||||
SOURCE_DIR ${CMAKE_SOURCE_DIR}/external/healpix
|
||||
CONFIGURE_COMMAND echo No configure
|
||||
BUILD_COMMAND make 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_COMMAND make
|
||||
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
|
||||
)
|
||||
|
@ -176,6 +232,7 @@ 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})
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue