Skip to content

Commit c4f93b5

Browse files
authored
Merge branch 'openscad:master' into master
2 parents 06e37c1 + 7166904 commit c4f93b5

File tree

259 files changed

+62486
-2238
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

259 files changed

+62486
-2238
lines changed

.circleci/config.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,9 @@ jobs:
7171
cd ..
7272
export PATH=/appimage/usr/bin:"$PATH"
7373
export EXTRA_QT_PLUGINS=svg
74-
LINUXDEPLOY_OUTPUT_VERSION="${OPENSCAD_VERSION}${SUFFIX}" linuxdeploy --plugin python --plugin qt --output appimage --appdir AppDir
74+
export PYTHON_VERSION=$(python3 -c "import sys; v=sys.version_info; print(f'{v.major}.{v.minor}.{v.micro}')")
75+
export LINUXDEPLOY_OUTPUT_VERSION="${OPENSCAD_VERSION}${SUFFIX}"
76+
linuxdeploy --plugin python --plugin qt --output appimage --appdir AppDir
7577
mkdir -p /tmp/out
7678
cp -iv OpenSCAD-*.AppImage /tmp/out
7779
if [ -n "${CODE_SIGNING_KEY}" ]; then

.github/workflows/macos-tests.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,13 @@ on:
55
branches:
66
- master
77
pull_request:
8+
workflow_dispatch:
9+
inputs:
10+
debug_enabled:
11+
type: boolean
12+
description: 'Run the build with ssh debugging enabled'
13+
required: false
14+
default: false
815

916
jobs:
1017
build_and_test:
@@ -15,6 +22,9 @@ jobs:
1522
exclude:
1623
# macos-latest runs on arm64, which has a broken SW renderer
1724
- os: macos-latest
25+
# QScintilla for qt5 is not longer available on Homebrew, and
26+
# it's too much work to keep that running.
27+
- qt: qt5
1828
runs-on: ${{ matrix.os }}
1929
name: ${{ matrix.os }} ${{ matrix.qt }}
2030
# If it's not done in 60 minutes, something is wrong.
@@ -30,6 +40,17 @@ jobs:
3040
uses: actions/checkout@v4
3141
with:
3242
submodules: 'recursive'
43+
- name: Setup (detached) tmate ssh session if enabled
44+
if: ${{ github.event_name == 'workflow_dispatch' && inputs.debug_enabled }}
45+
uses: mxschmitt/action-tmate@v3
46+
timeout-minutes: 15
47+
with:
48+
detached: true
49+
limit-access-to-actor: true
50+
- name: Install CMake
51+
uses: jwlawson/actions-setup-cmake@v2
52+
with:
53+
cmake-version: 3.31.6
3354
- name: Set up Python
3455
uses: actions/setup-python@v5
3556
with:

.gitmodules

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
url = https://github.com/arsenm/sanitizers-cmake.git
1313
[submodule "OpenCSG"]
1414
path = submodules/OpenCSG
15-
url = https://github.com/openscad/OpenCSG.git
15+
url = https://github.com/floriankirsch/OpenCSG.git
1616
[submodule "Clipper2"]
1717
path = submodules/Clipper2
1818
url = https://github.com/AngusJohnson/Clipper2.git

CMakeLists.txt

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -470,11 +470,12 @@ if(ENABLE_PYTHON)
470470
message(WARNING "Nettle not found, disabling python support.")
471471
set(ENABLE_PYTHON OFF CACHE BOOL "" FORCE)
472472
else()
473-
message(STATUS "Python enabled, using Nettle ${Nettle_VERSION}")
473+
message(STATUS "Python ${Python_VERSION} enabled, using Nettle ${Nettle_VERSION}")
474474
target_include_directories(OpenSCAD PRIVATE ${Python_INCLUDE_DIRS})
475475
target_link_libraries(OpenSCAD PRIVATE ${Python_LIBRARIES})
476476
target_include_directories(OpenSCAD PRIVATE ${Nettle_INCLUDE_DIRS})
477477
target_link_libraries(OpenSCAD PRIVATE ${Nettle_LIBRARIES})
478+
add_custom_target(OpenSCADPython ALL COMMAND ${CMAKE_COMMAND} -E create_symlink openscad${SUFFIX_WITH_DASH} "openscad-python")
478479
endif()
479480
endif()
480481

@@ -845,6 +846,7 @@ set(CORE_SOURCES
845846
src/geometry/boolean_utils.cc
846847
src/geometry/linalg.cc
847848
src/geometry/linear_extrude.cc
849+
src/geometry/rotate_extrude.cc
848850
src/glview/Camera.cc
849851
src/glview/ColorMap.cc
850852
src/glview/OffscreenContextFactory.cc
@@ -906,6 +908,7 @@ set(CORE_SOURCES
906908
${BISON_comment_parser_OUTPUTS})
907909
if(ENABLE_PYTHON)
908910
list(APPEND CORE_SOURCES
911+
src/python/pymod.cc
909912
src/python/pyopenscad.cc
910913
src/python/pyfunctions.cc )
911914
target_compile_definitions(OpenSCAD PRIVATE ENABLE_PYTHON)
@@ -1074,9 +1077,11 @@ set(GUI_SOURCES
10741077
src/gui/EventFilter.h
10751078
src/gui/Export3mfDialog.cc
10761079
src/gui/ExportPdfDialog.cc
1080+
src/gui/OctoPrintApiKeyDialog.cc
10771081
src/gui/FontListDialog.cc
10781082
src/gui/FontListTableView.cc
10791083
src/gui/InitConfigurator.cc
1084+
src/gui/ImportUtils.cc
10801085
src/gui/LaunchingScreen.cc
10811086
src/gui/LibraryInfoDialog.cc
10821087
src/gui/MainWindow.cc
@@ -1142,10 +1147,12 @@ set(GUI_HEADERS
11421147
src/gui/EventFilter.h
11431148
src/gui/Export3mfDialog.h
11441149
src/gui/ExportPdfDialog.h
1150+
src/gui/OctoPrintApiKeyDialog.h
11451151
src/gui/FontList.h
11461152
src/gui/FontListDialog.h
11471153
src/gui/FontListTableView.h
11481154
src/gui/IgnoreWheelWhenNotFocused.h
1155+
src/gui/ImportUtils.h
11491156
src/gui/InitConfigurator.h
11501157
src/gui/LaunchingScreen.h
11511158
src/gui/LibraryInfoDialog.h
@@ -1195,6 +1202,7 @@ set(GUI_UIS
11951202
src/gui/ErrorLog.ui
11961203
src/gui/Export3mfDialog.ui
11971204
src/gui/ExportPdfDialog.ui
1205+
src/gui/OctoPrintApiKeyDialog.ui
11981206
src/gui/FontList.ui
11991207
src/gui/FontListDialog.ui
12001208
src/gui/LaunchingScreen.ui
@@ -1372,6 +1380,9 @@ endif()
13721380
if(NOT APPLE OR APPLE_UNIX)
13731381
set_target_properties(OpenSCAD PROPERTIES OUTPUT_NAME openscad${SUFFIX_WITH_DASH})
13741382
install(TARGETS OpenSCAD RUNTIME DESTINATION "${OPENSCAD_BINDIR}")
1383+
if(ENABLE_PYTHON)
1384+
install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/openscad-python DESTINATION "${OPENSCAD_BINDIR}")
1385+
endif()
13751386
if(WIN32)
13761387
if(USE_MIMALLOC AND MI_LINK_SHARED)
13771388
if(CMAKE_SIZEOF_VOID_P EQUAL 8)

cmake/Modules/info.cmake

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,11 @@ elseif(UNIX)
2323
else()
2424
message(STATUS "Environment: Unknown")
2525
endif()
26+
if (ENABLE_PYTHON)
27+
message(STATUS "Python: ${Python_VERSION}")
28+
else()
29+
message(STATUS "Python: disabled")
30+
endif()
2631
message(STATUS " ")
2732
message(STATUS "CMAKE_VERSION: ${CMAKE_VERSION}")
2833
message(STATUS "CMAKE_TOOLCHAIN_FILE: ${CMAKE_TOOLCHAIN_FILE}")

examples/Advanced/example-dir.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"sort": 1020
3+
}

examples/Basics/example-dir.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"sort": 1000
3+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"sort": 1010
3+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"sort": 1030
3+
}

examples/examples.json

Lines changed: 0 additions & 62 deletions
This file was deleted.

0 commit comments

Comments
 (0)