Merge branch 'master' of bitbucket.org:cosmicvoids/void_identification

This commit is contained in:
P.M. Sutter 2012-11-06 14:41:36 -06:00
commit 8c6add3311
8 changed files with 134 additions and 30 deletions

View file

@ -5,13 +5,9 @@ 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")
MESSAGE(FATAL_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(BUILD_PREFIX ${CMAKE_BINARY_DIR}/ep_build)
@ -91,7 +87,11 @@ if (INTERNAL_HDF5)
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} CPPFLAGS=${CONFIGURE_CPP_FLAGS} CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER}
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 make install
)
@ -129,7 +129,12 @@ if (INTERNAL_NETCDF)
DEPENDS ${hdf5_built}
PREFIX ${BUILD_PREFIX}/netcdf-prefix
URL ${NETCDF_URL}
CONFIGURE_COMMAND ${NETCDF_SOURCE_DIR}/configure --prefix=${NETCDF_BIN_DIR} --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}
CONFIGURE_COMMAND ${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 make install
)
@ -146,7 +151,8 @@ ELSE(INTERNAL_NETCDF)
find_library(NETCDFCPP_LIBRARY netcdf_c++)
find_path(NETCDF_INCLUDE_PATH NAMES netcdf.h)
find_path(NETCDFCPP_INCLUDE_PATH NAMES netcdf)
SET(CONFIGURE_CPP_FLAGS ${CONFIGURE_CPP_FLAGS} -I${NETCDF_INCLUDE_PATH} -I${NETCDFCPP_INCLUDE_PATH})
SET(CONFIGURE_CPP_FLAGS ${CONFIGURE_CPP_FLAGS}
-I${NETCDF_INCLUDE_PATH} -I${NETCDFCPP_INCLUDE_PATH})
endif (INTERNAL_NETCDF)
##################
@ -158,7 +164,8 @@ if (INTERNAL_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=${CMAKE_BINARY_DIR}/ext_build/boost
BUILD_IN_SOURCE 1
BUILD_COMMAND ${BOOST_SOURCE_DIR}/b2 --with-exception --with-python
INSTALL_COMMAND echo "No install"
@ -176,7 +183,10 @@ IF(INTERNAL_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 CPPFLAGS=${CONFIGURE_CPP_FLAGS} CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER}
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
CPPFLAGS=${CONFIGURE_CPP_FLAGS} CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER}
BUILD_IN_SOURCE 1
BUILD_COMMAND make
INSTALL_COMMAND make install
@ -224,7 +234,7 @@ ExternalProject_Add(cfitsio
PREFIX ${BUILD_PREFIX}/cfitsio-prefix
CONFIGURE_COMMAND
${CMAKE_SOURCE_DIR}/external/cfitsio/configure
--prefix=${CMAKE_BINARY_DIR}/ext_build/cfitsio
--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}
@ -233,6 +243,7 @@ ExternalProject_Add(cfitsio
INSTALL_COMMAND make install
)
SET(CFITSIO_LIBRARY ${CMAKE_BINARY_DIR}/ext_build/cfitsio/lib/libcfitsio.a)
SET(CFITSIO_INCLUDE_PATH ${CMAKE_BINARY_DIR}/ext_build/cfitsio/include)
#################
# Build Healpix

View file

@ -2,29 +2,58 @@ INCLUDE(FindPythonInterp)
SET(INTERNAL_NETCDF4_PYTHON ON)
SET(INTERNAL_CYTHON ON)
SET(INTERNAL_HEALPY ON)
SET(INTERNAL_ARGPARSE ON)
IF(INTERNAL_CYTHON)
SET(CYTHON_URL "http://cython.org/release/Cython-0.17.1.tar.gz" CACHE STRING "URL to download Cython from")
mark_as_advanced(CYTHON_URL)
ENDIF(INTERNAL_CYTHON)
IF(INTERNAL_NETCDF4_PYTHON)
SET(NETCDF4_PYTHON_URL "http://netcdf4-python.googlecode.com/files/netCDF4-1.0.1.tar.gz" CACHE STRING "URL to download NetCDF4-python from")
mark_as_advanced(NETCDF4_PYTHON_URL)
ENDIF(INTERNAL_NETCDF4_PYTHON)
IF (INTERNAL_HEALPY)
SET(HEALPY_URL "http://github.com/healpy/healpy/archive/1.4.1.tar.gz" CACHE STRING "URL to download Healpy from")
mark_as_advanced(HEALPY_URL)
ENDIF(INTERNAL_HEALPY)
IF(INTERNAL_ARGPARSE)
SET(SETUPTOOLS_URL "http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz" CACHE STRING "URL to download setuptools from")
SET(ARGPARSE_URL "http://argparse.googlecode.com/files/argparse-1.2.1.tar.gz" CACHE STRING "URL to download argparse from")
mark_as_advanced(ARGPARSE_URL SETUPTOOLS_URL)
ENDIF(INTERNAL_ARGPARSE)
execute_process(
COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/external/detect_site.py ${CMAKE_BINARY_DIR}/ext_build/python
RESULT_VARIABLE RET_VALUE
OUTPUT_VARIABLE PYTHON_LOCAL_SITE_PACKAGE
)
IF(RET_VALUE)
MESSAGE(FATAL_ERROR "Could not detect the location of site-package in the build directory")
ENDIF(RET_VALUE)
STRING(REGEX REPLACE "(\r?\n)+$" "" PYTHON_LOCAL_SITE_PACKAGE "${PYTHON_LOCAL_SITE_PACKAGE}")
MESSAGE(STATUS "Python is installing its packages in ${PYTHON_LOCAL_SITE_PACKAGE}")
IF(INTERNAL_CYTHON)
SET(BUILD_ENVIRONMENT
${CMAKE_COMMAND}
"-DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
"-DPYTHON_LOCAL_SITE_PACKAGE=${PYTHON_LOCAL_SITE_PACKAGE}"
"-DTARGET_PATH=${CMAKE_BINARY_DIR}/ext_build/python" "-P")
ExternalProject_Add(cython
DEPENDS ${PREV_PYTHON_BUILD}
URL ${CYTHON_URL}
PREFIX ${BUILD_PREFIX}/cython-prefix
CONFIGURE_COMMAND echo "No configure"
BUILD_IN_SOURCE 1
BUILD_COMMAND ${PYTHON_EXECUTABLE} setup.py build
INSTALL_COMMAND ${PYTHON_EXECUTABLE} setup.py install --prefix=${CMAKE_BINARY_DIR}/ext_build/python
BUILD_COMMAND ${BUILD_ENVIRONMENT} ${CMAKE_SOURCE_DIR}/external/python_build.cmake
INSTALL_COMMAND ${BUILD_ENVIRONMENT} ${CMAKE_SOURCE_DIR}/external/python_install.cmake
)
SET(PREV_PYTHON_BUILD ${PREV_PYTHON_BUILD} cython)
ENDIF(INTERNAL_CYTHON)
@ -40,10 +69,11 @@ IF(INTERNAL_NETCDF4_PYTHON)
"-DHDF5_DIR=${HDF5_BIN_DIR}"
"-DNETCDF4_DIR=${NETCDF_BIN_DIR}"
"-DPYTHON_LDFLAGS:STRING=${PYTHON_LDFLAGS}"
"-DPYTHON_LOCAL_SITE_PACKAGE=${PYTHON_LOCAL_SITE_PACKAGE}"
"-DTARGET_PATH=${CMAKE_BINARY_DIR}/ext_build/python" "-P")
ExternalProject_Add(netcdf4-python
DEPENDS ${PREV_PYTHON_BUILD}
DEPENDS ${PREV_PYTHON_BUILD} netcdf
URL ${NETCDF4_PYTHON_URL}
PREFIX ${BUILD_PREFIX}/netcdf4-python-prefix
CONFIGURE_COMMAND echo "No configure"
@ -51,16 +81,56 @@ IF(INTERNAL_NETCDF4_PYTHON)
BUILD_COMMAND ${BUILD_ENVIRONMENT} ${CMAKE_SOURCE_DIR}/external/python_build.cmake
INSTALL_COMMAND ${BUILD_ENVIRONMENT} ${CMAKE_SOURCE_DIR}/external/python_install.cmake
)
SET(PREV_PYTHON_BUILD ${PREV_PYTHON_BUILD} netcdf4-python)
ENDIF(INTERNAL_NETCDF4_PYTHON)
IF(INTERNAL_HEALPY)
SET(BUILD_ENVIRONMENT
${CMAKE_COMMAND}
"-DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
"-DPYTHON_CPPFLAGS:STRING=${PYTHON_CPPFLAGS}"
"-DCFITSIO_EXT_LIB=${CFITSIO_LIBRARY}"
"-DCFITSIO_EXT_INC=${CFITSIO_INCLUDE_PATH}"
"-DNETCDF4_DIR=${NETCDF_BIN_DIR}"
"-DPYTHON_LDFLAGS:STRING=${PYTHON_LDFLAGS}"
"-DPYTHON_LOCAL_SITE_PACKAGE=${PYTHON_LOCAL_SITE_PACKAGE}"
"-DTARGET_PATH=${CMAKE_BINARY_DIR}/ext_build/python" "-P")
execute_process(
COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/external/detect_site.py ${CMAKE_BINARY_DIR}/ext_build/python
RESULT_VARIABLE RET_VALUE
OUTPUT_VARIABLE PYTHON_LOCAL_SITE_PACKAGE
)
IF(RET_VALUE)
MESSAGE(FATAL_ERROR "Could not detect the location of site-package in the build directory")
ENDIF(RET_VALUE)
ExternalProject_Add(healpy
DEPENDS ${PREV_PYTHON_BUILD}
URL ${HEALPY_URL}
PREFIX ${BUILD_PREFIX}/healpy-prefix
CONFIGURE_COMMAND echo "No configure"
BUILD_IN_SOURCE 1
BUILD_COMMAND ${BUILD_ENVIRONMENT} ${CMAKE_SOURCE_DIR}/external/python_build.cmake
INSTALL_COMMAND ${BUILD_ENVIRONMENT} ${CMAKE_SOURCE_DIR}/external/python_install.cmake
)
ENDIF(INTERNAL_HEALPY)
MESSAGE(STATUS "Python is installing its packages in ${PYTHON_LOCAL_SITE_PACKAGE}")
IF(INTERNAL_ARGPARSE)
SET(BUILD_ENVIRONMENT
${CMAKE_COMMAND}
"-DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
"-DPYTHON_LOCAL_SITE_PACKAGE=${PYTHON_LOCAL_SITE_PACKAGE}"
"-DTARGET_PATH=${CMAKE_BINARY_DIR}/ext_build/python" "-P")
ExternalProject_Add(setuptools
URL ${SETUPTOOLS_URL}
PREFIX ${BUILD_PREFIX}/setuptools-prefix
CONFIGURE_COMMAND echo "No configure"
BUILD_IN_SOURCE 1
BUILD_COMMAND ${BUILD_ENVIRONMENT} ${CMAKE_SOURCE_DIR}/external/python_build.cmake
INSTALL_COMMAND ${BUILD_ENVIRONMENT} ${CMAKE_SOURCE_DIR}/external/python_install.cmake
)
ExternalProject_Add(argparse
DEPENDS setuptools
URL ${ARGPARSE_URL}
PREFIX ${BUILD_PREFIX}/argparse-prefix
CONFIGURE_COMMAND echo "No configure"
BUILD_IN_SOURCE 1
BUILD_COMMAND ${BUILD_ENVIRONMENT} ${CMAKE_SOURCE_DIR}/external/python_build.cmake
INSTALL_COMMAND ${BUILD_ENVIRONMENT} ${CMAKE_SOURCE_DIR}/external/python_install.cmake
)
SET(AUXILIARY_PYTHON_DEPEND ${AUXILIARY_PYTHON_DEPEND} argparse)
ENDIF(INTERNAL_ARGPARSE)

View file

@ -2,9 +2,15 @@ SET(ENV{HDF5_DIR} ${HDF5_DIR})
SET(ENV{NETCDF4_DIR} ${NETCDF4_DIR})
SET(ENV{CPPFLAGS} ${PYTHON_CPPFLAGS})
SET(ENV{LDFLAGS} ${PYTHON_LDFLAGS})
SET(ENV{PYTHONPATH} ${TARGET_PATH}/lib/python2.7/site-packages:$ENV{PYTHONPATH})
SET(ENV{VOID_GSL} ${VOID_GSL})
SET(ENV{PYTHONPATH} ${PYTHON_LOCAL_SITE_PACKAGE}:$ENV{PYTHONPATH})
SET(ENV{CFITSIO_EXT_INC} ${CFITSIO_EXT_INC})
SET(ENV{CFITSIO_EXT_LIB} ${CFITSIO_EXT_LIB})
SET(PYTHON_BUILD_COMMAND ${PYTHON_EXECUTABLE} setup.py build)
MESSAGE(STATUS "Running ${PYTHON_BUILD_COMMAND}")
execute_process(
COMMAND ${PYTHON_EXECUTABLE} setup.py build
COMMAND ${PYTHON_BUILD_COMMAND}
RESULT_VARIABLE RET_VALUE
)

View file

@ -2,8 +2,16 @@ SET(ENV{HDF5_DIR} ${HDF5_DIR})
SET(ENV{NETCDF4_DIR} ${NETCDF4_DIR})
SET(ENV{CPPFLAGS} ${PYTHON_CPPFLAGS})
SET(ENV{LDFLAGS} ${PYTHON_LDFLAGS})
SET(ENV{VOID_GSL} ${VOID_GSL})
SET(ENV{CFITSIO_EXT_INC} ${CFITSIO_EXT_INC})
SET(ENV{CFITSIO_EXT_LIB} ${CFITSIO_EXT_LIB})
SET(ENV{PYTHONPATH} ${PYTHON_LOCAL_SITE_PACKAGE}:$ENV{PYTHONPATH})
SET(PYTHON_INSTALL_COMMAND ${PYTHON_EXECUTABLE} setup.py install --prefix=${TARGET_PATH} --install-lib=${PYTHON_LOCAL_SITE_PACKAGE})
message(STATUS "Running ${PYTHON_INSTALL_COMMAND}")
execute_process(
COMMAND ${PYTHON_EXECUTABLE} setup.py install --prefix=${TARGET_PATH}
COMMAND ${PYTHON_INSTALL_COMMAND}
RESULT_VARIABLE RET_VALUE
)

View file

@ -228,7 +228,7 @@ if not os.access(scriptDir, os.F_OK): os.mkdir(scriptDir)
# first the directly downsampled runs
# Note: ss0.002 ~ SDSS DR7 dim2
# ss0.0004 ~ SDSS DR9 mid
baseResolution = numPart/lbox/lbox/lbox # particles/Mpc^3
baseResolution = float(numPart)/lbox/lbox/lbox # particles/Mpc^3
for thisSubSample in subSamples:
keepFraction = float(thisSubSample) / baseResolution

View file

@ -219,7 +219,7 @@ if not os.access(scriptDir, os.F_OK): os.mkdir(scriptDir)
# first the directly downsampled runs
# Note: ss0.002 ~ SDSS DR7 dim2
# ss0.0004 ~ SDSS DR9 mid
baseResolution = numPart/lbox/lbox/lbox # particles/Mpc^3
baseResolution = float(numPart)/lbox/lbox/lbox # particles/Mpc^3
for thisSubSample in subSamples:
keepFraction = float(thisSubSample) / baseResolution

View file

@ -2,6 +2,9 @@ from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext
import numpy as np
import os
VOID_GSL=os.environ.get('VOID_GSL')
setup(
name='void_python_tools',
@ -15,6 +18,6 @@ setup(
ext_modules = [
Extension("void_python_tools.apTools.chi2.velocityProfileFitNative",
["void_python_tools/apTools/chi2/velocityProfileFitNative.pyx"],
libraries=["gsl", "gslcblas"])
libraries=["gsl", "gslcblas"], library_dirs=[VOID_GSL+"/lib"], include_dirs=[VOID_GSL+"/include"])
]
)

6
run_env.sh.in Normal file
View file

@ -0,0 +1,6 @@
#!/bin/sh
PYTHONPATH=@PYTHONPATH@
export PYTHONPATH
$@