mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-25 09:50:59 +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
48 lines
1.3 KiB
CMake
48 lines
1.3 KiB
CMake
get_filename_component(_TEST_NAME ${CMAKE_CURRENT_LIST_DIR} NAME)
|
|
|
|
add_executable(${_TEST_NAME}_tests
|
|
${_TEST_NAME}_tests.cpp
|
|
test_3mf.cpp
|
|
test_aabbindirect.cpp
|
|
test_appconfig.cpp
|
|
test_arachne_walls.cpp
|
|
test_arrange.cpp
|
|
test_bambu_networking.cpp
|
|
test_clipper_offset.cpp
|
|
test_clipper_utils.cpp
|
|
test_config.cpp
|
|
test_preset_bundle_loading.cpp
|
|
test_preset_setting_id.cpp
|
|
test_elephant_foot_compensation.cpp
|
|
test_geometry.cpp
|
|
test_placeholder_parser.cpp
|
|
test_polygon.cpp
|
|
test_mutable_polygon.cpp
|
|
test_mutable_priority_queue.cpp
|
|
test_stl.cpp
|
|
test_meshboolean.cpp
|
|
test_marchingsquares.cpp
|
|
test_timeutils.cpp
|
|
test_voronoi.cpp
|
|
test_optimizers.cpp
|
|
# test_png_io.cpp
|
|
test_indexed_triangle_set.cpp
|
|
../libnest2d/printer_parts.cpp
|
|
)
|
|
|
|
if (SLIC3R_CAD)
|
|
target_sources(${_TEST_NAME}_tests PRIVATE test_caddocument.cpp)
|
|
endif ()
|
|
|
|
if (TARGET OpenVDB::openvdb)
|
|
target_sources(${_TEST_NAME}_tests PRIVATE test_hollowing.cpp)
|
|
endif()
|
|
|
|
target_link_libraries(${_TEST_NAME}_tests test_common libslic3r Catch2::Catch2WithMain)
|
|
target_include_directories(${_TEST_NAME}_tests PRIVATE ${CMAKE_SOURCE_DIR}/src)
|
|
set_property(TARGET ${_TEST_NAME}_tests PROPERTY FOLDER "tests")
|
|
|
|
orcaslicer_copy_test_dlls()
|
|
|
|
orcaslicer_discover_tests(${_TEST_NAME}_tests)
|