From f1b1ff85520b1c6c3e1d8475924120b174e14335 Mon Sep 17 00:00:00 2001 From: Guilhem Lavaux Date: Mon, 5 Nov 2012 15:36:45 -0600 Subject: [PATCH 1/3] Old cruft From ffb41cc94a19fb7b7811df616074d025d354f74d Mon Sep 17 00:00:00 2001 From: Guilhem Lavaux Date: Mon, 5 Nov 2012 16:13:44 -0600 Subject: [PATCH 2/3] Enforces /lib/ (anot /lib64/ or something else) for dependencies --- external/external_build.cmake | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/external/external_build.cmake b/external/external_build.cmake index 5bc7c2e..555d3dd 100644 --- a/external/external_build.cmake +++ b/external/external_build.cmake @@ -87,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 ) @@ -125,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 ) @@ -142,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) ################## @@ -154,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" @@ -172,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 --with-pic 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 @@ -220,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} From d6d71174de9a6d7d0ac0a355b982452c5162b4e3 Mon Sep 17 00:00:00 2001 From: Guilhem Lavaux Date: Mon, 5 Nov 2012 16:30:18 -0600 Subject: [PATCH 3/3] Enforce the location where python libraries are installed (/lib and not /lib64 or some other random directory) --- external/external_python_build.cmake | 9 +++++++-- external/python_build.cmake | 4 +++- external/python_install.cmake | 4 +++- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/external/external_python_build.cmake b/external/external_python_build.cmake index 9e94758..92ca65f 100644 --- a/external/external_python_build.cmake +++ b/external/external_python_build.cmake @@ -27,14 +27,19 @@ 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) diff --git a/external/python_build.cmake b/external/python_build.cmake index 2359baa..f3de8de 100644 --- a/external/python_build.cmake +++ b/external/python_build.cmake @@ -4,8 +4,10 @@ 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(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 ) diff --git a/external/python_install.cmake b/external/python_install.cmake index f156b24..5afa3cb 100644 --- a/external/python_install.cmake +++ b/external/python_install.cmake @@ -4,8 +4,10 @@ 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(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 )