From 0e2f551f7a6f7e05ca87234cc6a64eb62634d8cb Mon Sep 17 00:00:00 2001 From: Guilhem Lavaux Date: Tue, 6 Nov 2012 10:58:16 -0500 Subject: [PATCH] Added Healpy to the dependencies to build --- external/external_build.cmake | 1 + external/external_python_build.cmake | 27 +++++++++++++++++++++++++++ external/python_build.cmake | 3 +++ external/python_install.cmake | 4 ++++ 4 files changed, 35 insertions(+) diff --git a/external/external_build.cmake b/external/external_build.cmake index 555d3dd..c28c6db 100644 --- a/external/external_build.cmake +++ b/external/external_build.cmake @@ -243,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 diff --git a/external/external_python_build.cmake b/external/external_python_build.cmake index 92ca65f..e4580ae 100644 --- a/external/external_python_build.cmake +++ b/external/external_python_build.cmake @@ -2,6 +2,7 @@ INCLUDE(FindPythonInterp) SET(INTERNAL_NETCDF4_PYTHON ON) SET(INTERNAL_CYTHON ON) +SET(INTERNAL_HEALPY ON) IF(INTERNAL_CYTHON) @@ -12,6 +13,10 @@ 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) +IF (INTERNAL_HEALPY) + SET(HEALPY_URL "http://github.com/healpy/healpy/archive/1.4.1.tar.gz" CACHE STRING "URL to download Healpy from") +ENDIF(INTERNAL_HEALPY) + execute_process( COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/external/detect_site.py ${CMAKE_BINARY_DIR}/ext_build/python RESULT_VARIABLE RET_VALUE @@ -67,6 +72,28 @@ 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") + 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) diff --git a/external/python_build.cmake b/external/python_build.cmake index f3de8de..ca9970e 100644 --- a/external/python_build.cmake +++ b/external/python_build.cmake @@ -4,6 +4,9 @@ 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}) +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( diff --git a/external/python_install.cmake b/external/python_install.cmake index 5afa3cb..e33e377 100644 --- a/external/python_install.cmake +++ b/external/python_install.cmake @@ -3,8 +3,12 @@ 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_INSTALL_COMMAND}