mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-26 10:21:00 +00:00
Gate the entire parametric Design/CAD subsystem behind a single CMake
option so the fork can be built with or without it. With SLIC3R_CAD OFF
the build is behaviour-neutral against upstream OrcaSlicer; this is the
"parallel build" for upstream integration discussion.
Gated surface:
- option(SLIC3R_CAD) + add_definitions(-DSLIC3R_CAD)
- deps/OCCT/OCCT.cmake: BUILD_MODULE_ModelingAlgorithms=${SLIC3R_CAD}
(OFF matches upstream OCCT exactly; ON adds only TKFillet + TKOffset)
- TKFillet/TKOffset link, add_subdirectory(slvs) + libslvs
- CAD kernel + GUI sources, GLGizmoPrimitive (needs GeometryEngine),
CAD Catch2 tests
- 11 upstream C++ hook sites (GLCanvas3D, MainFrame, GLGizmosManager)
- TabPosition and gizmo EType enums switched to implicit numbering so
OFF reproduces upstream indices exactly
Verified on behemoth both ways: OFF and ON link snapmaker-orca +
libslic3r_tests (exit 0); ON shows the Design tab and passes 8 [design]
+ 1 [Deviation] tests, OFF omits them and shows upstream's tab layout.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BVzKmX6Y1aEteit1HTXG4Q
43 lines
1.7 KiB
CMake
43 lines
1.7 KiB
CMake
if(WIN32)
|
|
set(library_build_type "Shared")
|
|
else()
|
|
set(library_build_type "Static")
|
|
endif()
|
|
|
|
# The parametric Design/CAD tab is the only consumer of OCCT's ModelingAlgorithms
|
|
# module (fillet/offset/loft). With it OFF the deps prefix matches upstream exactly;
|
|
# with it ON the delta is TKFillet + TKOffset (3.77 MiB, Windows only -- OCCT links
|
|
# statically on macOS/Linux). Must match the SLIC3R_CAD passed to the main project.
|
|
option(SLIC3R_CAD "Build OCCT's ModelingAlgorithms module (required by the Design/CAD tab)" ON)
|
|
|
|
if (IN_GIT_REPO)
|
|
set(OCCT_DIRECTORY_FLAG --directory ${BINARY_DIR_REL}/dep_OCCT-prefix/src/dep_OCCT)
|
|
endif ()
|
|
|
|
orcaslicer_add_cmake_project(OCCT
|
|
URL https://github.com/Open-Cascade-SAS/OCCT/archive/refs/tags/V7_6_0.zip
|
|
URL_HASH SHA256=28334f0e98f1b1629799783e9b4d21e05349d89e695809d7e6dfa45ea43e1dbc
|
|
#PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch
|
|
PATCH_COMMAND git apply ${OCCT_DIRECTORY_FLAG} --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch
|
|
#DEPENDS dep_Boost
|
|
DEPENDS ${FREETYPE_PKG}
|
|
CMAKE_ARGS
|
|
-DCMAKE_CXX_STANDARD=17
|
|
-DBUILD_LIBRARY_TYPE=${library_build_type}
|
|
-DUSE_TK=OFF
|
|
-DUSE_TBB=OFF
|
|
#-DUSE_FREETYPE=OFF
|
|
-DUSE_FFMPEG=OFF
|
|
-DUSE_VTK=OFF
|
|
-DBUILD_DOC_Overview=OFF
|
|
-DBUILD_MODULE_ApplicationFramework=OFF
|
|
#-DBUILD_MODULE_DataExchange=OFF
|
|
-DBUILD_MODULE_Draw=OFF
|
|
-DBUILD_MODULE_FoundationClasses=OFF
|
|
-DBUILD_MODULE_ModelingAlgorithms=${SLIC3R_CAD}
|
|
-DBUILD_MODULE_ModelingData=OFF
|
|
-DBUILD_MODULE_Visualization=OFF
|
|
)
|
|
|
|
# add_dependencies(dep_OCCT ${FREETYPE_PKG})
|