From ac2ffb6e458ed7272d37a67aed4839c0caa9387e Mon Sep 17 00:00:00 2001 From: Dilawar Singh <dilawars@ncbs.res.in> Date: Sat, 16 Dec 2017 11:03:17 +0530 Subject: [PATCH] On debian pass -DDISTUTILS_EXTRA_ARGS=--install-layout-deb to downstream cmake. --- CMakeLists.txt | 22 ++++++++++++++++++++-- build_moose-core.sh.in | 12 +++++++++++- cmake/build_moose-core.sh.in | 3 ++- 3 files changed, 33 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d8986742..05af9b09 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,9 +36,27 @@ if(PYTHON_VERSION_MAJOR VERSION_EQUAL 3) set(WITH_GUI OFF) endif( ) +# On debian or ubuntu, --install-layout=deb needs to be passed. +if(UNIX AND NOT APPLE) + find_program(LSB_RELEASE lsb_release) + if(LSB_RELEASE) + execute_process(COMMAND ${LSB_RELEASE} -is + OUTPUT_VARIABLE LSB_RELEASE_ID_SHORT + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + if(${LSB_RELEASE_ID_SHORT} STREQUAL "Ubuntu" + OR ${LSB_RELEASE_ID_SHORT} STREQUAL "Debian" ) + message(STATUS "Debian based LINUX: ${LSB_RELEASE_ID_SHORT}" ) + set(CMAKE_PYMOOSE_ARGS "-DDISTUTILS_EXTRA_ARGS=\"--install-layout=deb\"" ) + endif( ) + endif( ) +endif( ) + + + add_custom_target(moose ALL) -## intialize paths + set(PYMOOSE_SOURCE_DIR "${CMAKE_SOURCE_DIR}/moose-core") set(PYMOOSE_BUILD_DIR ${CMAKE_BINARY_DIR}/__moose-core_build) set(PYMOOSE_INSTALL_DIR ${CMAKE_BINARY_DIR}/__moose-core_install) @@ -131,7 +149,7 @@ if(WITH_GUI) ${CMAKE_INSTALL_PREFIX}/lib/moose/gui COMMAND ${CMAKE_COMMAND} -E remove ${CMAKE_INSTALL_PREFIX}/bin/moose ) - add_dependencies( uninstall __uninstall_moose-gui__ ) + #add_dependencies( uninstall __uninstall_moose-gui__ ) endif() ################################################################################ diff --git a/build_moose-core.sh.in b/build_moose-core.sh.in index 84057cf7..57d0e682 100755 --- a/build_moose-core.sh.in +++ b/build_moose-core.sh.in @@ -3,13 +3,23 @@ set -x set -e # NOTICE: This file is parsed by cmake to create a shell script. Not all syntax -# will play well with cmake. CMAKE replaces @FOO@ and ${FOO} with cmake variable +# will play well with cmake. +# +# CMAKE replaces @FOO@ and ${FOO} with cmake variable # values. if [ -z "$MAKE" ]; then MAKE=make fi +CMAKE_PYMOOSE_ARGS='' +SITE_PACKAGE=`@PYTHON_EXECUTABLE@ -c \ + "from distutils.sysconfig import get_python_lib; print(get_python_lib())"` +echo $SITE_PACKAGE + + +# If we are on DEBIAN/UBUNTU, pass --install-layout=deb to moose-core. + echo "Building MOOSE" ( export GSL_ROOT_DIR=@GSL_ROOT_DIR@ diff --git a/cmake/build_moose-core.sh.in b/cmake/build_moose-core.sh.in index 43d2ab2b..269e28e5 100755 --- a/cmake/build_moose-core.sh.in +++ b/cmake/build_moose-core.sh.in @@ -1,4 +1,5 @@ -#!/bin/bash +#!/bin/sh + set -x set -e -- GitLab