forked from bartvdbraak/blender
CMake: install Python executable when its bundled
This commit is contained in:
parent
d5a85f87b0
commit
e698299e4f
@ -1844,14 +1844,14 @@ elseif(APPLE)
|
|||||||
if(NOT WITH_PYTHON_MODULE AND NOT WITH_PYTHON_FRAMEWORK)
|
if(NOT WITH_PYTHON_MODULE AND NOT WITH_PYTHON_FRAMEWORK)
|
||||||
# normally cached but not since we include them with blender
|
# normally cached but not since we include them with blender
|
||||||
set(PYTHON_INCLUDE_DIR "${LIBDIR}/python/include/python${PYTHON_VERSION}m")
|
set(PYTHON_INCLUDE_DIR "${LIBDIR}/python/include/python${PYTHON_VERSION}m")
|
||||||
# set(PYTHON_BINARY "${LIBDIR}/python/bin/python${PYTHON_VERSION}") # not used yet
|
# set(PYTHON_EXECUTABLE "${LIBDIR}/python/bin/python${PYTHON_VERSION}") # not used yet
|
||||||
set(PYTHON_LIBRARY python${PYTHON_VERSION}m)
|
set(PYTHON_LIBRARY python${PYTHON_VERSION}m)
|
||||||
set(PYTHON_LIBPATH "${LIBDIR}/python/lib/python${PYTHON_VERSION}")
|
set(PYTHON_LIBPATH "${LIBDIR}/python/lib/python${PYTHON_VERSION}")
|
||||||
# set(PYTHON_LINKFLAGS "-u _PyMac_Error") # won't build with this enabled
|
# set(PYTHON_LINKFLAGS "-u _PyMac_Error") # won't build with this enabled
|
||||||
else()
|
else()
|
||||||
# module must be compiled against Python framework
|
# module must be compiled against Python framework
|
||||||
set(PYTHON_INCLUDE_DIR "/Library/Frameworks/Python.framework/Versions/${PYTHON_VERSION}/include/python${PYTHON_VERSION}m")
|
set(PYTHON_INCLUDE_DIR "/Library/Frameworks/Python.framework/Versions/${PYTHON_VERSION}/include/python${PYTHON_VERSION}m")
|
||||||
set(PYTHON_BINARY "/Library/Frameworks/Python.framework/Versions/${PYTHON_VERSION}/bin/python${PYTHON_VERSION}")
|
set(PYTHON_EXECUTABLE "/Library/Frameworks/Python.framework/Versions/${PYTHON_VERSION}/bin/python${PYTHON_VERSION}")
|
||||||
#set(PYTHON_LIBRARY python${PYTHON_VERSION})
|
#set(PYTHON_LIBRARY python${PYTHON_VERSION})
|
||||||
set(PYTHON_LIBPATH "/Library/Frameworks/Python.framework/Versions/${PYTHON_VERSION}/lib/python${PYTHON_VERSION}/config-${PYTHON_VERSION}m")
|
set(PYTHON_LIBPATH "/Library/Frameworks/Python.framework/Versions/${PYTHON_VERSION}/lib/python${PYTHON_VERSION}/config-${PYTHON_VERSION}m")
|
||||||
#set(PYTHON_LINKFLAGS "-u _PyMac_Error -framework Python") # won't build with this enabled
|
#set(PYTHON_LINKFLAGS "-u _PyMac_Error -framework Python") # won't build with this enabled
|
||||||
|
@ -66,6 +66,14 @@ IF(DEFINED PYTHON_LIBPATH)
|
|||||||
SET(_IS_LIB_PATH_DEF ON)
|
SET(_IS_LIB_PATH_DEF ON)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
|
STRING(REPLACE "." "" _PYTHON_VERSION_NO_DOTS ${PYTHON_VERSION})
|
||||||
|
|
||||||
|
SET(_python_SEARCH_DIRS
|
||||||
|
${PYTHON_ROOT_DIR}
|
||||||
|
"$ENV{HOME}/py${_PYTHON_VERSION_NO_DOTS}"
|
||||||
|
"/opt/py${_PYTHON_VERSION_NO_DOTS}"
|
||||||
|
"/opt/lib/python-${PYTHON_VERSION}"
|
||||||
|
)
|
||||||
|
|
||||||
# only search for the dirs if we havn't already
|
# only search for the dirs if we havn't already
|
||||||
IF((NOT _IS_INC_DEF) OR (NOT _IS_INC_CONF_DEF) OR (NOT _IS_LIB_DEF) OR (NOT _IS_LIB_PATH_DEF))
|
IF((NOT _IS_INC_DEF) OR (NOT _IS_INC_CONF_DEF) OR (NOT _IS_LIB_DEF) OR (NOT _IS_LIB_PATH_DEF))
|
||||||
@ -75,14 +83,7 @@ IF((NOT _IS_INC_DEF) OR (NOT _IS_INC_CONF_DEF) OR (NOT _IS_LIB_DEF) OR (NOT _IS_
|
|||||||
"dm;dmu;du;d" # debug
|
"dm;dmu;du;d" # debug
|
||||||
)
|
)
|
||||||
|
|
||||||
STRING(REPLACE "." "" _PYTHON_VERSION_NO_DOTS ${PYTHON_VERSION})
|
|
||||||
|
|
||||||
SET(_python_SEARCH_DIRS
|
|
||||||
${PYTHON_ROOT_DIR}
|
|
||||||
"$ENV{HOME}/py${_PYTHON_VERSION_NO_DOTS}"
|
|
||||||
"/opt/py${_PYTHON_VERSION_NO_DOTS}"
|
|
||||||
"/opt/lib/python-${PYTHON_VERSION}"
|
|
||||||
)
|
|
||||||
|
|
||||||
FOREACH(_CURRENT_ABI_FLAGS ${_python_ABI_FLAGS})
|
FOREACH(_CURRENT_ABI_FLAGS ${_python_ABI_FLAGS})
|
||||||
#IF(CMAKE_BUILD_TYPE STREQUAL Debug)
|
#IF(CMAKE_BUILD_TYPE STREQUAL Debug)
|
||||||
@ -147,6 +148,7 @@ IF((NOT _IS_INC_DEF) OR (NOT _IS_INC_CONF_DEF) OR (NOT _IS_LIB_DEF) OR (NOT _IS_
|
|||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
IF(PYTHON_LIBRARY AND PYTHON_LIBPATH AND PYTHON_INCLUDE_DIR AND PYTHON_INCLUDE_CONFIG_DIR)
|
IF(PYTHON_LIBRARY AND PYTHON_LIBPATH AND PYTHON_INCLUDE_DIR AND PYTHON_INCLUDE_CONFIG_DIR)
|
||||||
|
SET(_PYTHON_ABI_FLAGS "${_CURRENT_ABI_FLAGS}")
|
||||||
break()
|
break()
|
||||||
ELSE()
|
ELSE()
|
||||||
# ensure we dont find values from 2 different ABI versions
|
# ensure we dont find values from 2 different ABI versions
|
||||||
@ -169,7 +171,6 @@ IF((NOT _IS_INC_DEF) OR (NOT _IS_INC_CONF_DEF) OR (NOT _IS_LIB_DEF) OR (NOT _IS_
|
|||||||
UNSET(_CURRENT_PATH)
|
UNSET(_CURRENT_PATH)
|
||||||
|
|
||||||
UNSET(_python_ABI_FLAGS)
|
UNSET(_python_ABI_FLAGS)
|
||||||
UNSET(_python_SEARCH_DIRS)
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
UNSET(_IS_INC_DEF)
|
UNSET(_IS_INC_DEF)
|
||||||
@ -201,14 +202,28 @@ IF(PYTHONLIBSUNIX_FOUND)
|
|||||||
# XXX No more valid with debian-like py3.4 packages...
|
# XXX No more valid with debian-like py3.4 packages...
|
||||||
# GET_FILENAME_COMPONENT(PYTHON_LIBPATH ${PYTHON_LIBRARY} PATH)
|
# GET_FILENAME_COMPONENT(PYTHON_LIBPATH ${PYTHON_LIBRARY} PATH)
|
||||||
|
|
||||||
# not used
|
# not required for build, just used when bundling Python.
|
||||||
# SET(PYTHON_BINARY ${PYTHON_EXECUTABLE} CACHE STRING "")
|
FIND_PROGRAM(
|
||||||
|
PYTHON_EXECUTABLE
|
||||||
|
NAMES
|
||||||
|
"python${PYTHON_VERSION}${_PYTHON_ABI_FLAGS}"
|
||||||
|
"python${PYTHON_VERSION}"
|
||||||
|
"python"
|
||||||
|
HINTS
|
||||||
|
${_python_SEARCH_DIRS}
|
||||||
|
PATH_SUFFIXES bin
|
||||||
|
)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
|
UNSET(_PYTHON_VERSION_NO_DOTS)
|
||||||
|
UNSET(_PYTHON_ABI_FLAGS)
|
||||||
|
UNSET(_python_SEARCH_DIRS)
|
||||||
|
|
||||||
MARK_AS_ADVANCED(
|
MARK_AS_ADVANCED(
|
||||||
PYTHON_INCLUDE_DIR
|
PYTHON_INCLUDE_DIR
|
||||||
PYTHON_INCLUDE_CONFIG_DIR
|
PYTHON_INCLUDE_CONFIG_DIR
|
||||||
PYTHON_LIBRARY
|
PYTHON_LIBRARY
|
||||||
PYTHON_LIBPATH
|
PYTHON_LIBPATH
|
||||||
PYTHON_SITE_PACKAGES
|
PYTHON_SITE_PACKAGES
|
||||||
|
PYTHON_EXECUTABLE
|
||||||
)
|
)
|
||||||
|
@ -494,6 +494,12 @@ if(UNIX AND NOT APPLE)
|
|||||||
|
|
||||||
if(WITH_PYTHON)
|
if(WITH_PYTHON)
|
||||||
if(WITH_PYTHON_INSTALL)
|
if(WITH_PYTHON_INSTALL)
|
||||||
|
|
||||||
|
install(
|
||||||
|
FILES ${PYTHON_EXECUTABLE}
|
||||||
|
DESTINATION ${TARGETDIR_VER}/python/bin
|
||||||
|
)
|
||||||
|
|
||||||
# on some platforms (like openSUSE) Python is linked
|
# on some platforms (like openSUSE) Python is linked
|
||||||
# to be used from lib64 folder.
|
# to be used from lib64 folder.
|
||||||
# determine this from Python's libraries path
|
# determine this from Python's libraries path
|
||||||
|
Loading…
Reference in New Issue
Block a user