mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-09 18:27:00 +00:00
fix: make Windows debug builds work (#15353)
Co-authored-by: Rodrigo Faselli <162915171+RF47@users.noreply.github.com>
This commit is contained in:
8
deps/python3/python3.cmake
vendored
8
deps/python3/python3.cmake
vendored
@@ -53,12 +53,9 @@ if(WIN32)
|
|||||||
set(_python_pcbuild_output_dir win32)
|
set(_python_pcbuild_output_dir win32)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# pybind11 undefines _DEBUG around Python.h so a debug build links the
|
||||||
|
# release python3xx.lib; Py_DEBUG could not load release plugin modules.
|
||||||
set(_python_pcbuild_config Release)
|
set(_python_pcbuild_config Release)
|
||||||
set(_python_layout_debug OFF)
|
|
||||||
if(DEFINED DEP_DEBUG AND DEP_DEBUG)
|
|
||||||
set(_python_pcbuild_config Debug)
|
|
||||||
set(_python_layout_debug ON)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# CPython's PCbuild needs a 64-bit-hosted toolchain: find_msbuild.bat picks the
|
# CPython's PCbuild needs a 64-bit-hosted toolchain: find_msbuild.bat picks the
|
||||||
# 32-bit Bin\MSBuild.exe, whose x86 cl.exe/link.exe run out of address space
|
# 32-bit Bin\MSBuild.exe, whose x86 cl.exe/link.exe run out of address space
|
||||||
@@ -101,7 +98,6 @@ if(WIN32)
|
|||||||
-DPYTHON_BUILD_DIR=<SOURCE_DIR>/PCbuild/${_python_pcbuild_output_dir}
|
-DPYTHON_BUILD_DIR=<SOURCE_DIR>/PCbuild/${_python_pcbuild_output_dir}
|
||||||
-DPYTHON_DEST_DIR=${DESTDIR}/libpython
|
-DPYTHON_DEST_DIR=${DESTDIR}/libpython
|
||||||
-DPYTHON_LAYOUT_ARCH=${_python_layout_arch}
|
-DPYTHON_LAYOUT_ARCH=${_python_layout_arch}
|
||||||
-DPYTHON_DEBUG=${_python_layout_debug}
|
|
||||||
-P ${CMAKE_CURRENT_LIST_DIR}/stage_windows.cmake
|
-P ${CMAKE_CURRENT_LIST_DIR}/stage_windows.cmake
|
||||||
)
|
)
|
||||||
elseif(APPLE)
|
elseif(APPLE)
|
||||||
|
|||||||
20
deps/python3/stage_windows.cmake
vendored
20
deps/python3/stage_windows.cmake
vendored
@@ -9,9 +9,6 @@ foreach(_var PYTHON_SOURCE_DIR PYTHON_BUILD_DIR PYTHON_DEST_DIR PYTHON_LAYOUT_AR
|
|||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
set(_python_exe "${PYTHON_BUILD_DIR}/python.exe")
|
set(_python_exe "${PYTHON_BUILD_DIR}/python.exe")
|
||||||
if(PYTHON_DEBUG)
|
|
||||||
set(_python_exe "${PYTHON_BUILD_DIR}/python_d.exe")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(NOT EXISTS "${_python_exe}")
|
if(NOT EXISTS "${_python_exe}")
|
||||||
message(FATAL_ERROR "Built Python executable not found: ${_python_exe}")
|
message(FATAL_ERROR "Built Python executable not found: ${_python_exe}")
|
||||||
@@ -49,22 +46,11 @@ endif()
|
|||||||
set(_required_files
|
set(_required_files
|
||||||
"${PYTHON_DEST_DIR}/Lib/encodings/__init__.py"
|
"${PYTHON_DEST_DIR}/Lib/encodings/__init__.py"
|
||||||
"${PYTHON_DEST_DIR}/include/Python.h"
|
"${PYTHON_DEST_DIR}/include/Python.h"
|
||||||
|
"${PYTHON_DEST_DIR}/python.exe"
|
||||||
|
"${PYTHON_DEST_DIR}/python${_python_abi}.dll"
|
||||||
|
"${PYTHON_DEST_DIR}/libs/python${_python_abi}.lib"
|
||||||
)
|
)
|
||||||
|
|
||||||
if(PYTHON_DEBUG)
|
|
||||||
list(APPEND _required_files
|
|
||||||
"${PYTHON_DEST_DIR}/python_d.exe"
|
|
||||||
"${PYTHON_DEST_DIR}/python${_python_abi}_d.dll"
|
|
||||||
"${PYTHON_DEST_DIR}/libs/python${_python_abi}_d.lib"
|
|
||||||
)
|
|
||||||
else()
|
|
||||||
list(APPEND _required_files
|
|
||||||
"${PYTHON_DEST_DIR}/python.exe"
|
|
||||||
"${PYTHON_DEST_DIR}/python${_python_abi}.dll"
|
|
||||||
"${PYTHON_DEST_DIR}/libs/python${_python_abi}.lib"
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
foreach(_required_file IN LISTS _required_files)
|
foreach(_required_file IN LISTS _required_files)
|
||||||
if(NOT EXISTS "${_required_file}")
|
if(NOT EXISTS "${_required_file}")
|
||||||
message(FATAL_ERROR "Staged Python file missing: ${_required_file}")
|
message(FATAL_ERROR "Staged Python file missing: ${_required_file}")
|
||||||
|
|||||||
@@ -33,7 +33,8 @@ if (SLIC3R_GUI)
|
|||||||
set (wxWidgets_CONFIG_OPTIONS "--toolkit=gtk${SLIC3R_GTK}")
|
set (wxWidgets_CONFIG_OPTIONS "--toolkit=gtk${SLIC3R_GTK}")
|
||||||
find_package(wxWidgets 3.3 REQUIRED COMPONENTS base core adv html gl aui net media webview)
|
find_package(wxWidgets 3.3 REQUIRED COMPONENTS base core adv html gl aui net media webview)
|
||||||
else ()
|
else ()
|
||||||
find_package(wxWidgets 3.3 CONFIG REQUIRED COMPONENTS html adv gl core base webview aui net media)
|
# propgrid is required by wxInspector.
|
||||||
|
find_package(wxWidgets 3.3 CONFIG REQUIRED COMPONENTS html adv gl core base webview aui net media propgrid)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
if(UNIX)
|
if(UNIX)
|
||||||
@@ -90,6 +91,16 @@ if (SLIC3R_GUI)
|
|||||||
# list(REMOVE_ITEM wxWidgets_LIBRARIES oleacc)
|
# list(REMOVE_ITEM wxWidgets_LIBRARIES oleacc)
|
||||||
|
|
||||||
find_package(wxInspector REQUIRED)
|
find_package(wxInspector REQUIRED)
|
||||||
|
|
||||||
|
# wxInspector's exported interface names the release wxWidgets import
|
||||||
|
# libraries, which a Debug build cannot link. wx is linked above instead.
|
||||||
|
get_target_property(_wxinspector_interface wxInspector::wxInspector INTERFACE_LINK_LIBRARIES)
|
||||||
|
if (_wxinspector_interface)
|
||||||
|
list(FILTER _wxinspector_interface EXCLUDE REGEX "wx(base|msw)3[0-9]u[_.]")
|
||||||
|
set_target_properties(wxInspector::wxInspector PROPERTIES
|
||||||
|
INTERFACE_LINK_LIBRARIES "${_wxinspector_interface}")
|
||||||
|
endif ()
|
||||||
|
|
||||||
list(APPEND wxWidgets_LIBRARIES "wxInspector::wxInspector")
|
list(APPEND wxWidgets_LIBRARIES "wxInspector::wxInspector")
|
||||||
|
|
||||||
message(STATUS "wx libs: ${wxWidgets_LIBRARIES}")
|
message(STATUS "wx libs: ${wxWidgets_LIBRARIES}")
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
#ifndef slic3r_PluginAuditManager_hpp_
|
#ifndef slic3r_PluginAuditManager_hpp_
|
||||||
#define slic3r_PluginAuditManager_hpp_
|
#define slic3r_PluginAuditManager_hpp_
|
||||||
|
|
||||||
#include <Python.h>
|
// Via pybind11 so this file requests the same python3xx.lib as everything else.
|
||||||
|
#include <pybind11/conduit/wrap_include_python_h.h>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <mutex>
|
#include <mutex>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
#ifndef slic3r_PythonInterpreter_hpp_
|
#ifndef slic3r_PythonInterpreter_hpp_
|
||||||
#define slic3r_PythonInterpreter_hpp_
|
#define slic3r_PythonInterpreter_hpp_
|
||||||
|
|
||||||
#include <Python.h>
|
// Via pybind11 so this file requests the same python3xx.lib as everything else.
|
||||||
|
#include <pybind11/conduit/wrap_include_python_h.h>
|
||||||
#include <pytypedefs.h>
|
#include <pytypedefs.h>
|
||||||
#include <atomic>
|
#include <atomic>
|
||||||
#include <functional>
|
#include <functional>
|
||||||
|
|||||||
Reference in New Issue
Block a user