Skip to content
Snippets Groups Projects
Commit 5336c963 authored by Franck Pérignon's avatar Franck Pérignon
Browse files

Fix bug in CMakeLists that happens for old cmake version (<2.8.12)

parent a0cffac1
No related branches found
No related tags found
No related merge requests found
...@@ -89,7 +89,14 @@ set(PACKAGE_NAME Parmes) ...@@ -89,7 +89,14 @@ set(PACKAGE_NAME Parmes)
# --- Python --- # --- Python ---
find_package(PythonInterp) find_package(PythonInterp)
get_filename_component(PYTHON_DIR ${PYTHON_EXECUTABLE} REALPATH) get_filename_component(PYTHON_DIR ${PYTHON_EXECUTABLE} REALPATH)
get_filename_component(PYTHON_DIR ${PYTHON_DIR} DIRECTORY) display(CMAKE_PATCH_VERSION)
if(CMAKE_PATCH_VERSION LESS 12)
set(PYTHON_DIR ${PYTHON_DIR}/..)
get_filename_component(PYTHON_DIR ${PYTHON_DIR} REALPATH)
else()
get_filename_component(PYTHON_DIR ${PYTHON_DIR} DIRECTORY)
endif()
display(PYTHON_DIR)
set(PYTHON_main_version ${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}) set(PYTHON_main_version ${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR})
set(PythonLibs_FIND_VERSION ${PYTHON_VERSION_STRING}) set(PythonLibs_FIND_VERSION ${PYTHON_VERSION_STRING})
set(PYTHON_INCLUDE_DIR ${PYTHON_DIR}/../include/python${PYTHON_main_version}) set(PYTHON_INCLUDE_DIR ${PYTHON_DIR}/../include/python${PYTHON_main_version})
...@@ -124,17 +131,16 @@ else() ...@@ -124,17 +131,16 @@ else()
string(STRIP ${ENABLE_USER} ENABLE_USER) string(STRIP ${ENABLE_USER} ENABLE_USER)
if(ENABLE_USER) if(ENABLE_USER)
# Default prefix (as python --user) -> installation in site.USER_SITE # Default prefix (as python --user) -> installation in site.USER_SITE
# Note FP : for brew users, you need to set prefix= nothing in file /usr/local/Cellar/python/2.7.6_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/distutils.cfg
# or create a ~/.pydistutils.cfg with:
# [install]
# prefix=
set(install-opt "--user") set(install-opt "--user")
# Need to set the CMAKE_INSTALL_PREFIX to site.USER_SITE # Need to set the CMAKE_INSTALL_PREFIX to site.USER_SITE
# Get python user site and install path = USER_SITE + project_name # Get python user site and install path = USER_SITE + project_name
set(PYTHON_COMMAND_GET_INSTALL_DIR "import site, os ; print os.path.join(site.USER_SITE, \"${PROJECT_NAME}\")") set(PYTHON_COMMAND_GET_INSTALL_DIR "import site, os ; print os.path.join(site.USER_SITE, \"${PROJECT_NAME}\")")
# Set cmake PREFIX variable only for summary # Set cmake PREFIX variable only for summary
# Get python user base set(PREFIX "No User prefix given, install process with python --user (in site.USER_SITE)")
execute_process(
COMMAND ${PYTHON_EXECUTABLE} -c "import site ; print site.USER_BASE"
OUTPUT_VARIABLE PY_USER_BASE)
string(STRIP ${PY_USER_BASE} PY_USER_BASE)
set(PREFIX "No User prefix given, use python --user (site.USER_BASE=${PY_USER_BASE})")
else() # user site not included in the path, which probably means that python is run using virtualenv else() # user site not included in the path, which probably means that python is run using virtualenv
# Command to find 'global' site-package # Command to find 'global' site-package
set(GET_SITE_PACKAGE "from distutils.sysconfig import get_python_lib; print(get_python_lib())") set(GET_SITE_PACKAGE "from distutils.sysconfig import get_python_lib; print(get_python_lib())")
...@@ -154,7 +160,6 @@ execute_process( ...@@ -154,7 +160,6 @@ execute_process(
string(STRIP ${${PROJECT_NAME}_INSTALL_DIR} ${PROJECT_NAME}_INSTALL_DIR) string(STRIP ${${PROJECT_NAME}_INSTALL_DIR} ${PROJECT_NAME}_INSTALL_DIR)
# set CMAKE_INSTALL_PREFIX to the site # set CMAKE_INSTALL_PREFIX to the site
set(CMAKE_INSTALL_PREFIX ${${PROJECT_NAME}_INSTALL_DIR}) set(CMAKE_INSTALL_PREFIX ${${PROJECT_NAME}_INSTALL_DIR})
# #
#Get build dir for python #Get build dir for python
execute_process( execute_process(
...@@ -217,15 +222,9 @@ add_custom_target(python-build ALL COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_ ...@@ -217,15 +222,9 @@ add_custom_target(python-build ALL COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMENT "build parmepy package") WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMENT "build parmepy package")
# To install python package AND parmes library and modules # To install python package AND parmes library and modules
if(WITH_LIB_FORTRAN) add_custom_target(python-install COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/setup.py install ${install-opt} config_fc --f90exec=${CMAKE_Fortran_COMPILER}
add_custom_target(python-install COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/setup.py install ${install-opt} config_fc --f90exec=${CMAKE_Fortran_COMPILER} #COMMAND make install
#COMMAND make install WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMENT "build/install parmepy package")
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMENT "build/install parmepy package")
else()
add_custom_target(python-install COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/setup.py install ${install-opt} config_fc --f90exec=${CMAKE_Fortran_COMPILER}
#COMMAND make install
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMENT "build/install parmepy package")
endif()
install(CODE "execute_process(COMMAND ${CMAKE_BUILD_TOOL} python-install WORKING_DIRECTORY \"${CMAKE_CURRENT_BINARY_DIR}\")") install(CODE "execute_process(COMMAND ${CMAKE_BUILD_TOOL} python-install WORKING_DIRECTORY \"${CMAKE_CURRENT_BINARY_DIR}\")")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment