From 15e065a83337a932b34e618eb13bf624eddfe907 Mon Sep 17 00:00:00 2001 From: Guilhem Lavaux Date: Mon, 13 Oct 2014 17:43:52 +0200 Subject: [PATCH] Enforce the CC/CXX compiler chosen by cmake --- external/external_python_build.cmake | 35 ++++++++++++++-------------- external/python_build.cmake | 2 ++ external/python_install.cmake | 3 +++ 3 files changed, 22 insertions(+), 18 deletions(-) diff --git a/external/external_python_build.cmake b/external/external_python_build.cmake index bf1907c..88bd264 100644 --- a/external/external_python_build.cmake +++ b/external/external_python_build.cmake @@ -62,14 +62,18 @@ 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}") +SET(BASIC_PYTHON_ENV "-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} " + "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}" + "-DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" + "-DPYTHON_LOCAL_SITE_PACKAGE=${PYTHON_LOCAL_SITE_PACKAGE}" + "-DTARGET_PATH=${CMAKE_BINARY_DIR}/ext_build/python") 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") + ${BASIC_PYTHON_ENV} + "-P") ExternalProject_Add(cython DEPENDS ${PREV_PYTHON_BUILD} URL ${CYTHON_URL} @@ -88,13 +92,12 @@ IF(INTERNAL_NETCDF4_PYTHON) SET(PYTHON_LDFLAGS -L${NETCDF_BIN_DIR}/lib) SET(BUILD_ENVIRONMENT ${CMAKE_COMMAND} - "-DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" + ${BASIC_PYTHON_ENV} "-DPYTHON_CPPFLAGS:STRING=${PYTHON_CPPFLAGS}" "-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") + "-P") ExternalProject_Add(netcdf4-python DEPENDS ${PREV_PYTHON_BUILD} netcdf @@ -111,16 +114,15 @@ ENDIF(INTERNAL_NETCDF4_PYTHON) IF(INTERNAL_HEALPY) SET(BUILD_ENVIRONMENT ${CMAKE_COMMAND} - "-DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}" + ${BASIC_PYTHON_ENV} "-DPYTHON_CPPFLAGS:STRING=${PYTHON_CPPFLAGS}" "-DCFITSIO_EXT_LIB=${CFITSIO_LIBRARY}" "-DCFITSIO_EXT_INC=${CFITSIO_INCLUDE_PATH}" "-DCFITSIO_EXT_PREFIX=${CFITSIO_PREFIX}" "-DNETCDF4_DIR=${NETCDF_BIN_DIR}" "-DPYTHON_LDFLAGS:STRING=${PYTHON_LDFLAGS}" - "-DPYTHON_LOCAL_SITE_PACKAGE=${PYTHON_LOCAL_SITE_PACKAGE}" "-DSUPPORT_ARCH_NATIVE=${SUPPORT_ARCH_NATIVE}" - "-DTARGET_PATH=${CMAKE_BINARY_DIR}/ext_build/python" "-P") + "-P") ExternalProject_Add(healpy DEPENDS ${PREV_PYTHON_BUILD} @@ -136,9 +138,8 @@ ENDIF(INTERNAL_HEALPY) IF(INTERNAL_SETUPTOOLS) 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") + ${BASIC_PYTHON_ENV} + "-P") ExternalProject_Add(setuptools URL ${SETUPTOOLS_URL} @@ -168,9 +169,8 @@ ENDIF(INTERNAL_ARGPARSE) IF(INTERNAL_SCIPY) 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") + ${BASIC_PYTHON_ENV} + "-P") ExternalProject_Add(scipy DEPENDS ${PREV_PYTHON_BUILD} @@ -187,9 +187,8 @@ ENDIF(INTERNAL_SCIPY) IF(INTERNAL_KDTREE_SCIPY) 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") + ${BASIC_PYTHON_ENV} + "-P") ExternalProject_Add(kdtree-scipy DEPENDS ${PREV_PYTHON_BUILD} diff --git a/external/python_build.cmake b/external/python_build.cmake index f733405..3e10cb3 100644 --- a/external/python_build.cmake +++ b/external/python_build.cmake @@ -7,6 +7,8 @@ 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(ENV{CFITSIO_EXT_PREFIX} ${CFITSIO_EXT_PREFIX}) +SET(ENV{CC} ${CMAKE_C_COMPILER}) +SET(ENV{CXX} ${CMAKE_CXX_COMPILER}) IF (NOT SUPPORT_ARCH_NATIVE) SET(ENV{HEALPY_WITHOUT_NATIVE} 1) ENDIF(NOT SUPPORT_ARCH_NATIVE) diff --git a/external/python_install.cmake b/external/python_install.cmake index ee04a3c..231b7ca 100644 --- a/external/python_install.cmake +++ b/external/python_install.cmake @@ -7,6 +7,9 @@ SET(ENV{CFITSIO_EXT_INC} ${CFITSIO_EXT_INC}) SET(ENV{CFITSIO_EXT_PREFIX} ${CFITSIO_EXT_PREFIX}) SET(ENV{CFITSIO_EXT_LIB} ${CFITSIO_EXT_LIB}) SET(ENV{PYTHONPATH} ${PYTHON_LOCAL_SITE_PACKAGE}:$ENV{PYTHONPATH}) +SET(ENV{CC} ${CMAKE_C_COMPILER}) +SET(ENV{CXX} ${CMAKE_CXX_COMPILER}) + SET(PYTHON_INSTALL_COMMAND ${PYTHON_EXECUTABLE} setup.py install --prefix=${TARGET_PATH} --install-lib=${PYTHON_LOCAL_SITE_PACKAGE})