Provide the just-built cython to cosmotool. Forced to reorganize the order of the call to ExternalProject

This commit is contained in:
Guilhem Lavaux 2018-07-20 08:48:54 +03:00
parent 63c7757662
commit b5e3086801
5 changed files with 60 additions and 32 deletions

15
external/base_external.cmake vendored Normal file
View file

@ -0,0 +1,15 @@
include(FindOpenMP)
OPTION(ENABLE_OPENMP "Set to Yes if Healpix and/or you need openMP" OFF)
OPTION(SDF_SUPPORT "Set to Yes to activate support for SDF" ON)
IF(ENABLE_OPENMP)
IF (NOT OPENMP_FOUND)
MESSAGE(FATAL_ERROR "No known compiler option for enabling OpenMP")
ENDIF(NOT OPENMP_FOUND)
ENDIF(ENABLE_OPENMP)
SET(BUILD_PREFIX ${CMAKE_BINARY_DIR}/ep_build)

View file

@ -221,35 +221,6 @@ ELSE(INTERNAL_GSL)
ENDIF(INTERNAL_GSL)
mark_as_advanced(GSL_LIBRARY GSLCBLAS_LIBRARY GSL_INCLUDE_PATH)
##################
# Build CosmoTool
##################
ExternalProject_Add(cosmotool
DEPENDS ${cosmotool_DEPS}
PREFIX ${BUILD_PREFIX}/cosmotool-prefix
SOURCE_DIR ${CMAKE_SOURCE_DIR}/external/cosmotool
CMAKE_ARGS
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-DHDF5_DIR=${HDF5_ROOTDIR}
-DHDF5_ROOTDIR=${HDF5_ROOTDIR}
-DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/ext_build/cosmotool
-DNETCDF_INCLUDE_PATH=${NETCDF_INCLUDE_PATH}
-DNETCDFCPP_INCLUDE_PATH=${NETCDFCPP_INCLUDE_PATH}
-DGSL_INCLUDE_PATH=${GSL_INCLUDE_PATH}
-DGSL_LIBRARY=${GSL_LIBRARY}
-DGSLCBLAS_LIBRARY=${GSLCBLAS_LIBRARY}
-DNETCDF_LIBRARY=${NETCDF_LIBRARY}
-DNETCDFCPP_LIBRARY=${NETCDFCPP_LIBRARY}
-DENABLE_SHARP=OFF
-DBoost_INCLUDE_DIR=${Boost_INCLUDE_DIRS}
)
SET(COSMOTOOL_LIBRARY ${CMAKE_BINARY_DIR}/ext_build/cosmotool/lib/libCosmoTool.a)
set(COSMOTOOL_INCLUDE_PATH ${CMAKE_BINARY_DIR}/ext_build/cosmotool/include)
#################
# Build cfitsio
#################
@ -361,6 +332,6 @@ ENDIF(SDF_SUPPORT)
include_directories(${CMAKE_BINARY_DIR}/src
${NETCDF_INCLUDE_PATH} ${GSL_INCLUDE_PATH}
${HDF5_INCLUDE_PATH} ${COSMOTOOL_INCLUDE_PATH}
${HDF5_INCLUDE_PATH}
${Boost_INCLUDE_DIRS}
${QHULL_INCLUDE_PATH} ${LIBSDF_INCLUDE_PATH})

31
external/external_cosmotool.cmake vendored Normal file
View file

@ -0,0 +1,31 @@
##################
# Build CosmoTool
##################
ExternalProject_Add(cosmotool
DEPENDS ${cosmotool_DEPS}
PREFIX ${BUILD_PREFIX}/cosmotool-prefix
SOURCE_DIR ${CMAKE_SOURCE_DIR}/external/cosmotool
CMAKE_ARGS
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-DHDF5_DIR=${HDF5_ROOTDIR}
-DHDF5_ROOTDIR=${HDF5_ROOTDIR}
-DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/ext_build/cosmotool
-DNETCDF_INCLUDE_PATH=${NETCDF_INCLUDE_PATH}
-DNETCDFCPP_INCLUDE_PATH=${NETCDFCPP_INCLUDE_PATH}
-DGSL_INCLUDE_PATH=${GSL_INCLUDE_PATH}
-DGSL_LIBRARY=${GSL_LIBRARY}
-DGSLCBLAS_LIBRARY=${GSLCBLAS_LIBRARY}
-DNETCDF_LIBRARY=${NETCDF_LIBRARY}
-DNETCDFCPP_LIBRARY=${NETCDFCPP_LIBRARY}
-DENABLE_SHARP=OFF
-DBoost_INCLUDE_DIR=${Boost_INCLUDE_DIRS}
${CYTHON_OPTION}
)
SET(COSMOTOOL_LIBRARY ${CMAKE_BINARY_DIR}/ext_build/cosmotool/lib/libCosmoTool.a)
set(COSMOTOOL_INCLUDE_PATH ${CMAKE_BINARY_DIR}/ext_build/cosmotool/include)
include_directories(${COSMOTOOL_INCLUDE_PATH} )

View file

@ -27,7 +27,7 @@ ELSE (PYTHON_VERSION_STRING VERSION_LESS 2.7)
ENDIF (PYTHON_VERSION_STRING VERSION_LESS 2.7)
IF(INTERNAL_CYTHON)
SET(CYTHON_URL "https://pypi.python.org/packages/73/8c/0c7de501038e9aaa6128219bf28989e55f129b5b31c5a66a55f648289466/Cython-0.17.1.tar.gz" CACHE STRING "URL to download Cython from")
SET(CYTHON_URL "https://files.pythonhosted.org/packages/d2/12/8ef44cede251b93322e8503fd6e1b25a0249fa498bebec191a5a06adbe51/Cython-0.28.4.tar.gz" CACHE STRING "URL to download Cython from")
mark_as_advanced(CYTHON_URL)
ENDIF(INTERNAL_CYTHON)
@ -82,6 +82,7 @@ SET(BASIC_PYTHON_ENV "-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} "
IF(INTERNAL_CYTHON)
SET(cosmotool_DEPS ${cosmotool_DEPS} cython)
SET(BUILD_ENVIRONMENT
${CMAKE_COMMAND}
${BASIC_PYTHON_ENV}
@ -89,7 +90,7 @@ IF(INTERNAL_CYTHON)
ExternalProject_Add(cython
DEPENDS ${PREV_PYTHON_BUILD}
URL ${CYTHON_URL}
URL_HASH MD5=f0bd2494dbe080a1185b61fa358135f2
URL_HASH SHA256=76ac2b08d3d956d77b574bb43cbf1d37bd58b9d50c04ba281303e695854ebc46
PREFIX ${BUILD_PREFIX}/cython-prefix
CONFIGURE_COMMAND echo "No configure"
BUILD_IN_SOURCE 1
@ -97,6 +98,14 @@ IF(INTERNAL_CYTHON)
INSTALL_COMMAND ${BUILD_ENVIRONMENT} ${CMAKE_SOURCE_DIR}/external/python_install.cmake
)
SET(PREV_PYTHON_BUILD ${PREV_PYTHON_BUILD} cython)
file(WRITE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/cython-wrap
"#!/bin/sh\n${CMAKE_BINARY_DIR}/run_python.sh ${CMAKE_BINARY_DIR}/ext_build/python/bin/cython $@\n")
file(COPY ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/cython-wrap
DESTINATION ${CMAKE_BINARY_DIR}/ext_build/python/bin
FILE_PERMISSIONS OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE)
SET(CYTHON_OPTION -DCYTHON:FILEPATH=${CMAKE_BINARY_DIR}/ext_build/python/bin/cython-wrap)
ELSE()
SET(CYTHON_OPTION )
ENDIF(INTERNAL_CYTHON)