Properly build and install the python tools in BINDIR/ext_build/python. Specify more dependencies.

This commit is contained in:
Guilhem Lavaux 2012-11-01 22:16:13 -04:00
parent a1b3fa7290
commit fb98f89679
5 changed files with 21 additions and 14 deletions

View file

@ -172,7 +172,7 @@ 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 CPPFLAGS=${CONFIGURE_CPP_FLAGS} CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER}
BUILD_IN_SOURCE 1
BUILD_COMMAND make
INSTALL_COMMAND make install

View file

@ -12,7 +12,17 @@ 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")
ENDIF(INTERNAL_NETCDF4_PYTHON)
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}")
@ -40,10 +50,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"
@ -54,13 +65,3 @@ IF(INTERNAL_NETCDF4_PYTHON)
ENDIF(INTERNAL_NETCDF4_PYTHON)
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)
MESSAGE(STATUS "Python is installing its packages in ${PYTHON_LOCAL_SITE_PACKAGE}")

View file

@ -2,7 +2,8 @@ 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})
execute_process(
COMMAND ${PYTHON_EXECUTABLE} setup.py build
RESULT_VARIABLE RET_VALUE

View file

@ -2,6 +2,8 @@ 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{PYTHONPATH} ${PYTHON_LOCAL_SITE_PACKAGE}:$ENV{PYTHONPATH})
execute_process(
COMMAND ${PYTHON_EXECUTABLE} setup.py install --prefix=${TARGET_PATH}
RESULT_VARIABLE RET_VALUE

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"])
]
)