forked from bartvdbraak/blender
cmake could ignore defines for python lib/include passed from the command line if both weren't defined.
This commit is contained in:
parent
723e129252
commit
b07d92408b
@ -44,8 +44,19 @@ SET(PYTHON_LINKFLAGS "-Xlinker -export-dynamic" CACHE STRING "Linker flags for p
|
|||||||
MARK_AS_ADVANCED(PYTHON_LINKFLAGS)
|
MARK_AS_ADVANCED(PYTHON_LINKFLAGS)
|
||||||
|
|
||||||
|
|
||||||
|
# if the user passes these defines as args, we dont want to overwrite
|
||||||
|
SET(_IS_INC_DEF OFF)
|
||||||
|
SET(_IS_LIB_DEF OFF)
|
||||||
|
IF(DEFINED PYTHON_INCLUDE_DIR)
|
||||||
|
SET(_IS_INC_DEF ON)
|
||||||
|
ENDIF()
|
||||||
|
IF(DEFINED PYTHON_LIBRARY)
|
||||||
|
SET(_IS_LIB_DEF ON)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
|
||||||
# only search for the dirs if we havn't already
|
# only search for the dirs if we havn't already
|
||||||
IF((NOT DEFINED PYTHON_INCLUDE_DIR) OR (NOT DEFINED PYTHON_LIBRARY))
|
IF((NOT _IS_INC_DEF) OR (NOT _IS_LIB_DEF))
|
||||||
|
|
||||||
SET(_python_ABI_FLAGS
|
SET(_python_ABI_FLAGS
|
||||||
"m;mu;u; " # release
|
"m;mu;u; " # release
|
||||||
@ -66,30 +77,38 @@ IF((NOT DEFINED PYTHON_INCLUDE_DIR) OR (NOT DEFINED PYTHON_LIBRARY))
|
|||||||
#ENDIF()
|
#ENDIF()
|
||||||
STRING(REPLACE " " "" _CURRENT_ABI_FLAGS ${_CURRENT_ABI_FLAGS})
|
STRING(REPLACE " " "" _CURRENT_ABI_FLAGS ${_CURRENT_ABI_FLAGS})
|
||||||
|
|
||||||
FIND_PATH(PYTHON_INCLUDE_DIR
|
IF(NOT DEFINED PYTHON_INCLUDE_DIR)
|
||||||
NAMES
|
FIND_PATH(PYTHON_INCLUDE_DIR
|
||||||
Python.h
|
NAMES
|
||||||
HINTS
|
Python.h
|
||||||
${_python_SEARCH_DIRS}
|
HINTS
|
||||||
PATH_SUFFIXES
|
${_python_SEARCH_DIRS}
|
||||||
include/python${PYTHON_VERSION}${_CURRENT_ABI_FLAGS}
|
PATH_SUFFIXES
|
||||||
)
|
include/python${PYTHON_VERSION}${_CURRENT_ABI_FLAGS}
|
||||||
|
)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
FIND_LIBRARY(PYTHON_LIBRARY
|
IF(NOT DEFINED PYTHON_LIBRARY)
|
||||||
NAMES
|
FIND_LIBRARY(PYTHON_LIBRARY
|
||||||
"python${PYTHON_VERSION}${_CURRENT_ABI_FLAGS}"
|
NAMES
|
||||||
HINTS
|
"python${PYTHON_VERSION}${_CURRENT_ABI_FLAGS}"
|
||||||
${_python_SEARCH_DIRS}
|
HINTS
|
||||||
PATH_SUFFIXES
|
${_python_SEARCH_DIRS}
|
||||||
lib64 lib
|
PATH_SUFFIXES
|
||||||
)
|
lib64 lib
|
||||||
|
)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
IF(PYTHON_LIBRARY AND PYTHON_INCLUDE_DIR)
|
IF(PYTHON_LIBRARY AND PYTHON_INCLUDE_DIR)
|
||||||
break()
|
break()
|
||||||
ELSE()
|
ELSE()
|
||||||
# ensure we dont find values from 2 different ABI versions
|
# ensure we dont find values from 2 different ABI versions
|
||||||
UNSET(PYTHON_INCLUDE_DIR CACHE)
|
IF(NOT _IS_INC_DEF)
|
||||||
UNSET(PYTHON_LIBRARY CACHE)
|
UNSET(PYTHON_INCLUDE_DIR CACHE)
|
||||||
|
ENDIF()
|
||||||
|
IF(NOT _IS_LIB_DEF)
|
||||||
|
UNSET(PYTHON_LIBRARY CACHE)
|
||||||
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDFOREACH()
|
ENDFOREACH()
|
||||||
|
|
||||||
@ -100,6 +119,9 @@ IF((NOT DEFINED PYTHON_INCLUDE_DIR) OR (NOT DEFINED PYTHON_LIBRARY))
|
|||||||
UNSET(_python_SEARCH_DIRS)
|
UNSET(_python_SEARCH_DIRS)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
|
UNSET(_IS_INC_DEF)
|
||||||
|
UNSET(_IS_LIB_DEF)
|
||||||
|
|
||||||
# handle the QUIETLY and REQUIRED arguments and SET PYTHONLIBSUNIX_FOUND to TRUE IF
|
# handle the QUIETLY and REQUIRED arguments and SET PYTHONLIBSUNIX_FOUND to TRUE IF
|
||||||
# all listed variables are TRUE
|
# all listed variables are TRUE
|
||||||
INCLUDE(FindPackageHandleStandardArgs)
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
|
Loading…
Reference in New Issue
Block a user