Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ on:
- main
- dev/ruby31
- dev/ruby32
- dev/ruby34
- dev/actions
pull_request:

Expand Down
10 changes: 7 additions & 3 deletions Build/SURubyDebugger.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
F9D3F8552912B1E700BE62A9 /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "/Applications/SketchUp 2094/SketchUp.app/Contents/Frameworks";
dstPath = "$(SKETCHUP_APP_PATH)/Contents/Frameworks";
dstSubfolderSpec = 0;
files = (
F9D3F8562912B20000BE62A9 /* SURubyDebugger.dylib in CopyFiles */,
Expand Down Expand Up @@ -313,6 +313,7 @@
33CC241618D57AB80079FC3E /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = arm64;
CLANG_ENABLE_OBJC_WEAK = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
Expand All @@ -323,14 +324,16 @@
"$(SRCROOT)/../ThirdParty/include",
"$(SRCROOT)/../ThirdParty/include/ruby/mac",
);
OTHER_CFLAGS = "-fdeclspec";
OTHER_CFLAGS = "-fdeclspec -Wno-enum-constexpr-conversion";
PRODUCT_NAME = "$(TARGET_NAME)";
SKETCHUP_APP_PATH = "/Applications/SketchUp 2027/SketchUp.app";

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This now appear as a custom property in the XCode target?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, it shows up under User-Defined in Build Settings for the SURubyDebugger target, editable there like any other setting

};
name = Debug;
};
33CC241718D57AB80079FC3E /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = arm64;
CLANG_ENABLE_OBJC_WEAK = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
Expand All @@ -341,8 +344,9 @@
"$(SRCROOT)/../ThirdParty/include",
"$(SRCROOT)/../ThirdParty/include/ruby/mac",
);
OTHER_CFLAGS = "-fdeclspec";
OTHER_CFLAGS = "-fdeclspec -Wno-enum-constexpr-conversion";
PRODUCT_NAME = "$(TARGET_NAME)";
SKETCHUP_APP_PATH = "/Applications/SketchUp 2027/SketchUp.app";
};
name = Release;
};
Expand Down
4 changes: 2 additions & 2 deletions DebugServer/DebugServer.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalLibraryDirectories>$(SolutionDir)../ThirdParty/lib/Debug/x64</AdditionalLibraryDirectories>
<AdditionalDependencies>x64-ucrt-ruby320.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>x64-ucrt-ruby340.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<PostBuildEvent>
<Command>set TARGETDIR=$(TargetDir)
Expand All @@ -89,7 +89,7 @@ call $(SolutionDir)postbuild.bat
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalLibraryDirectories>$(SolutionDir)../ThirdParty/lib/Release/x64</AdditionalLibraryDirectories>
<AdditionalDependencies>x64-ucrt-ruby320.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>x64-ucrt-ruby340.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<PostBuildEvent>
<Command>set TARGETDIR=$(TargetDir)
Expand Down
Binary file modified DebugServer/Resource.rc
Binary file not shown.
6 changes: 6 additions & 0 deletions Development.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,12 @@

The binary will be located under: `Build/output/Build/Products/Release/SURubyDebugger.dylib`

After building, the dylib is copied into the `Contents/Frameworks` directory of
`SKETCHUP_APP_PATH`, which defaults to `/Applications/SketchUp 2027/SketchUp.app`.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That makes it easier to debug/dev build this. 👍

Override it to install into a different SketchUp, such as a local build:

xcodebuild -scheme SURubyDebugger -configuration Release SKETCHUP_APP_PATH="/path/to/SketchUp.app"

### Windows

TODO:
Expand Down
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,17 @@ SketchUp Ruby API Debugger

This is a Ruby debugger framework for SketchUp 2014 and later. The `ruby-debug-ide` protocol has been mostly implemented so any Ruby IDE that supports this protocol should work.

| IDE | Stable (1.2.0) | Stable (1.3.0) | Stable (1.4.0) | Stable (1.5.0) |
| --- | --- | --- | --- | --- |
| [RubyMine](https://github.com/SketchUp/sketchup-ruby-api-tutorials/wiki/RubyMine-Debugger-Setup) | *Untested* | Good | Good | Good |
| [VS Code](https://github.com/SketchUp/sketchup-ruby-api-tutorials/wiki/VSCode-Debugger-Setup) (with `vscode-ruby` extension) | Not supported | Good | Good | Good |
| IDE | Stable (1.2.0) | Stable (1.3.0) | Stable (1.4.0) | Stable (1.5.0) | Stable (1.6.0) |
| --- | --- | --- | --- | --- | --- |
| [RubyMine](https://github.com/SketchUp/sketchup-ruby-api-tutorials/wiki/RubyMine-Debugger-Setup) | *Untested* | Good | Good | Good | Good |
| [VS Code](https://github.com/SketchUp/sketchup-ruby-api-tutorials/wiki/VSCode-Debugger-Setup) (with `vscode-ruby` extension) | Not supported | Good | Good | Good | *Untested* |

## Instructions for Windows:

- Download the pre-built dynamic library (SURubyDebugger.dll) from the [latest release](https://github.com/SketchUp/sketchup-ruby-debugger/releases) or build from the sources.
- Copy the DLL into the SketchUp installation directory. As the exact path will depend on the version of SketchUp you have installed, look for a folder similar to the following:
```
C:\Program Files\SketchUp\SketchUp 2024\
C:\Program Files\SketchUp\SketchUp 2027\

C:\Program Files (x86)\SketchUp\SketchUp 2015\
```
Expand All @@ -27,15 +27,15 @@ SketchUp.exe -rdebug "ide port=6123"
- Install SketchUp 2014 Maintenance 1 Release (version 14.1.1283) or later.
- Download `SURubyDebugger.dylib` into the Frameworks directory of the app bundle:
```
curl -L https://github.com/SketchUp/sketchup-ruby-debugger/releases/download/1.5.0.0/SURubyDebugger.dylib -o /Applications/SketchUp\ 2024/SketchUp.app/Contents/Frameworks/SURubyDebugger.dylib
curl -L https://github.com/SketchUp/sketchup-ruby-debugger/releases/download/1.6.0.0/SURubyDebugger.dylib -o /Applications/SketchUp\ 2027/SketchUp.app/Contents/Frameworks/SURubyDebugger.dylib
```
- Run SketchUp from the command line:
```
/Applications/SketchUp\ 2024/SketchUp.app/Contents/MacOS/SketchUp -rdebug "ide port=6123"
/Applications/SketchUp\ 2027/SketchUp.app/Contents/MacOS/SketchUp -rdebug "ide port=6123"
```
Alternatively:
```
open -a /Applications/SketchUp\ 2024/SketchUp.app --args -rdebug "ide port=6123"
open -a /Applications/SketchUp\ 2027/SketchUp.app --args -rdebug "ide port=6123"
```

## Known Issues
Expand Down
Loading
Loading