mirror of
https://github.com/rizinorg/cutter.git
synced 2024-12-25 06:15:26 +00:00
38 lines
1.4 KiB
CMake
38 lines
1.4 KiB
CMake
|
|
||
|
function(find_python_site_packages VAR)
|
||
|
if(Python_SITELIB)
|
||
|
set("${VAR}" "${Python_SITELIB}" PARENT_SCOPE)
|
||
|
return()
|
||
|
endif()
|
||
|
|
||
|
execute_process(
|
||
|
COMMAND "${PYTHON_EXECUTABLE}" -c "if True:
|
||
|
from distutils import sysconfig
|
||
|
print(sysconfig.get_python_lib(prefix='', plat_specific=True))"
|
||
|
OUTPUT_VARIABLE "${VAR}"
|
||
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||
|
set("${VAR}" "${${VAR}}" PARENT_SCOPE)
|
||
|
endfunction()
|
||
|
|
||
|
function(get_python_extension_suffix VAR)
|
||
|
# from PySide2 CMakeLists.txt
|
||
|
# Result of imp.get_suffixes() depends on the platform, but generally looks something like:
|
||
|
# [('.cpython-34m-x86_64-linux-gnu.so', 'rb', 3), ('.cpython-34m.so', 'rb', 3),
|
||
|
# ('.abi3.so', 'rb', 3), ('.so', 'rb', 3), ('.py', 'r', 1), ('.pyc', 'rb', 2)]
|
||
|
# We pick the first most detailed one, strip of the file extension part.
|
||
|
|
||
|
execute_process(
|
||
|
COMMAND "${PYTHON_EXECUTABLE}" -c "if True:
|
||
|
import importlib.machinery, re
|
||
|
first_suffix = importlib.machinery.EXTENSION_SUFFIXES[0]
|
||
|
res = re.search(r'^(.+)\\.', first_suffix)
|
||
|
if res:
|
||
|
first_suffix = res.group(1)
|
||
|
else:
|
||
|
first_suffix = ''
|
||
|
print(first_suffix)
|
||
|
"
|
||
|
OUTPUT_VARIABLE "${VAR}"
|
||
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||
|
set("${VAR}" "${${VAR}}" PARENT_SCOPE)
|
||
|
endfunction()
|