This reverts commit 81e862140f
binary packages turned out to have issues for debug builds on windows
as they link to python_311d.dll and none of the binary packages offfered
on pypi offered a debug build. Building pydantic from source was rejected
due to no rust build infrastructure being in place yet and deemed not
worth the effort for this one library dependency, an alternate solution
was chosen by the assets team that requested this dependency.
107 lines
3.8 KiB
CMake
107 lines
3.8 KiB
CMake
# SPDX-FileCopyrightText: 2019-2022 Blender Authors
|
|
#
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
if(MSVC)
|
|
set(PYTARGET ${HARVEST_TARGET}/python/${PYTHON_SHORT_VERSION_NO_DOTS})
|
|
set(PYSRC ${LIBDIR}/python/)
|
|
|
|
if(BUILD_MODE STREQUAL Release)
|
|
add_custom_command(
|
|
OUTPUT ${PYTARGET}/bin/python${PYTHON_POSTFIX}.exe
|
|
|
|
COMMAND echo packaging python
|
|
COMMAND echo this should output at ${PYTARGET}/bin/python${PYTHON_POSTFIX}.exe
|
|
COMMAND ${CMAKE_COMMAND} -E make_directory ${PYTARGET}/libs
|
|
COMMAND ${CMAKE_COMMAND} -E copy
|
|
${PYSRC}/libs/python${PYTHON_SHORT_VERSION_NO_DOTS}.lib
|
|
${PYTARGET}/libs/python${PYTHON_SHORT_VERSION_NO_DOTS}.lib
|
|
COMMAND ${CMAKE_COMMAND} -E copy
|
|
${PYSRC}/python.exe
|
|
${PYTARGET}/bin/python.exe
|
|
COMMAND ${CMAKE_COMMAND} -E copy
|
|
${PYSRC}/python${PYTHON_SHORT_VERSION_NO_DOTS}.dll
|
|
${PYTARGET}/bin/python${PYTHON_SHORT_VERSION_NO_DOTS}.dll
|
|
COMMAND ${CMAKE_COMMAND} -E copy
|
|
${PYSRC}/python3${PYTHON_POSTFIX}.dll
|
|
${PYTARGET}/bin/python3${PYTHON_POSTFIX}.dll
|
|
COMMAND ${CMAKE_COMMAND} -E copy
|
|
${PYSRC}/python${PYTHON_SHORT_VERSION_NO_DOTS}.pdb
|
|
${PYTARGET}/libs/python${PYTHON_SHORT_VERSION_NO_DOTS}.pdb
|
|
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
|
${PYSRC}/include/
|
|
${PYTARGET}/include/
|
|
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
|
${PYSRC}/lib/
|
|
${PYTARGET}/lib/
|
|
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
|
${PYSRC}/DLLs/
|
|
${PYTARGET}/DLLs/
|
|
|
|
COMMAND cd ${PYTARGET}/lib/ &&
|
|
for /d /r . %%d in (__pycache__) do @if exist "%%d" echo "%%d" &&
|
|
rd /s/q "%%d"
|
|
)
|
|
add_custom_target(Package_Python
|
|
ALL
|
|
DEPENDS
|
|
external_python
|
|
external_numpy
|
|
external_python_site_packages
|
|
external_zstandard
|
|
external_cython
|
|
OUTPUT
|
|
${HARVEST_TARGET}/python/${PYTHON_SHORT_VERSION_NO_DOTS}/bin/python${PYTHON_POSTFIX}.exe
|
|
)
|
|
endif()
|
|
|
|
if(BUILD_MODE STREQUAL Debug)
|
|
add_custom_command(
|
|
OUTPUT ${PYTARGET}/bin/python${PYTHON_POSTFIX}.exe
|
|
|
|
COMMAND echo packaging python
|
|
COMMAND echo this should output at ${PYTARGET}/bin/python${PYTHON_POSTFIX}.exe
|
|
COMMAND ${CMAKE_COMMAND} -E make_directory ${PYTARGET}/libs
|
|
COMMAND ${CMAKE_COMMAND} -E copy
|
|
${PYSRC}/libs/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.lib
|
|
${PYTARGET}/libs/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.lib
|
|
COMMAND ${CMAKE_COMMAND} -E copy
|
|
${PYSRC}/python${PYTHON_POSTFIX}.exe
|
|
${PYTARGET}/bin/python${PYTHON_POSTFIX}.exe
|
|
COMMAND ${CMAKE_COMMAND} -E copy
|
|
${PYSRC}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.dll
|
|
${PYTARGET}/bin/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.dll
|
|
COMMAND ${CMAKE_COMMAND} -E copy
|
|
${PYSRC}/python3${PYTHON_POSTFIX}.dll
|
|
${PYTARGET}/bin/python3${PYTHON_POSTFIX}.dll
|
|
COMMAND ${CMAKE_COMMAND} -E copy
|
|
${PYSRC}/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.pdb
|
|
${PYTARGET}/libs/python${PYTHON_SHORT_VERSION_NO_DOTS}${PYTHON_POSTFIX}.pdb
|
|
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
|
${PYSRC}/include/
|
|
${PYTARGET}/include/
|
|
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
|
${PYSRC}/lib/
|
|
${PYTARGET}/lib/
|
|
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
|
${PYSRC}/DLLs/
|
|
${PYTARGET}/DLLs/
|
|
|
|
COMMAND cd ${PYTARGET}/lib/ &&
|
|
for /d /r . %%d in (__pycache__) do @if exist "%%d" echo "%%d" &&
|
|
rd /s/q "%%d"
|
|
)
|
|
add_custom_target(Package_Python
|
|
ALL
|
|
DEPENDS
|
|
external_python
|
|
external_numpy
|
|
external_python_site_packages
|
|
external_zstandard
|
|
external_cython
|
|
OUTPUT
|
|
${PYTARGET}/bin/python${PYTHON_POSTFIX}.exe
|
|
)
|
|
endif()
|
|
endif()
|