Skip to content

Commit 91cec05

Browse files
committed
Merge branch 'release/1.1.1'
2 parents e953ab1 + 2c7985a commit 91cec05

File tree

7 files changed

+92
-99
lines changed

7 files changed

+92
-99
lines changed

Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ copyLibImGui:
3030
cp $(imgui_src)/generator/output/cimgui.cpp $(c_imgui_src)
3131

3232
generateCInterface:
33-
cd $(imgui_src)/generator && luajit ./generator.lua gcc glfw opengl3 opengl2 sdl
33+
cd $(imgui_src)/generator && luajit ./generator.lua clang sdl glfw glut metal
3434

3535
buildCImGui: updateCLibImGui generateCInterface copyLibImGui
3636

@@ -47,6 +47,7 @@ runCI:
4747

4848
wrapLibImGui: buildAutoWrapper
4949
$(release_dir)/AutoWrapper $(imgui_src)/generator/output/definitions.json $(swift_imgui_src)/ImGui+Definitions.swift
50+
#$(release_dir)/AutoWrapper $(imgui_src)/generator/output/impl_definitions.json $(swift_imgui_src)/ImGui+ImplDefinitions.swift
5051

5152
clean:
5253
swift package reset

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ import PackageDescription
3838
let package = Package(
3939
name: "YourPackageName",
4040
dependencies: [
41-
.package(url: "https://github.com/ctreffs/SwiftImGui.git", from: "1.1.0")
41+
.package(url: "https://github.com/ctreffs/SwiftImGui.git", from: "1.1.1")
4242
],
4343
targets: [
4444
.target(

Sources/AutoWrapper/Definitions.swift

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -150,11 +150,23 @@ public struct Definition: Decodable {
150150
var constructors: [ConstructorDef] = []
151151

152152
if container.contains(.funcname) && !container.contains(.destructor) && !container.contains(.constructor) {
153-
functions.insert(try FunctionDef(from: decoder))
153+
do {
154+
functions.insert(try FunctionDef(from: decoder))
155+
} catch {
156+
print("DECODING ERROR FunctionDef", decoder.codingPath, error.localizedDescription)
157+
}
154158
} else if container.contains(.destructor) {
155-
destructors.append(try DestructorDef(from: decoder))
159+
do {
160+
destructors.append(try DestructorDef(from: decoder))
161+
} catch {
162+
print("DECODING ERROR DestructorDef", decoder.codingPath, error.localizedDescription)
163+
}
156164
} else if container.contains(.constructor) {
157-
constructors.append(try ConstructorDef(from: decoder))
165+
do {
166+
constructors.append(try ConstructorDef(from: decoder))
167+
} catch {
168+
print("DECODING ERROR ConstructorDef", decoder.codingPath, error.localizedDescription)
169+
}
158170
}
159171

160172
self.functions = functions

Sources/AutoWrapper/main.swift

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,18 @@ public func getDirectory(ofFile filePath: String = #file) -> String {
2222
}
2323

2424
// Input: <SRC_ROOT>/3rdparty/cimgui/generator/output/definitions.json
25-
public let kInputFile: String
25+
public let kInputFiles: [String]
2626
// Output <SRC_ROOT>/Sources/ImGui/ImGui+Definitions.swift
27-
public let kOutputFile: String
27+
public let kOutputFiles: [String]
2828

2929
if CommandLine.arguments.count == 3 {
30-
kInputFile = CommandLine.arguments[1]
31-
kOutputFile = CommandLine.arguments[2]
30+
kInputFiles = [CommandLine.arguments[1]]
31+
kOutputFiles = [CommandLine.arguments[2]]
3232
} else {
33-
kInputFile = getDirectory() + "/../../3rdparty/cimgui/generator/output/definitions.json"
34-
kOutputFile = getDirectory() + "/../ImGui/ImGui+Definitions.swift"
33+
let src = getDirectory() + "/../../3rdparty/cimgui/generator/output/"
34+
let dest = getDirectory() + "/../ImGui/"
35+
kInputFiles = ["definitions.json"].map { "\(src)\($0)" }
36+
kOutputFiles = ["ImGui+Definitions.swift"].map { "\(dest)\($0)" }
3537
}
3638

3739
public let kHeader = """
@@ -52,14 +54,16 @@ import CImGui
5254
public let kFooter = """
5355
"""
5456

55-
try convert(filePath: kInputFile, validOnly: true) { body in
56-
let out: String = [kHeader, body, kFooter].joined(separator: "\n\n")
57+
for (inputFile, outputFile) in zip(kInputFiles, kOutputFiles) {
58+
try convert(filePath: inputFile, validOnly: true) { body in
59+
let out: String = [kHeader, body, kFooter].joined(separator: "\n\n")
5760

58-
guard let data: Data = out.data(using: .utf8) else {
59-
throw ConversionError(localizedDescription: "Could not generate data from output string \(out)")
60-
}
61+
guard let data: Data = out.data(using: .utf8) else {
62+
throw ConversionError(localizedDescription: "Could not generate data from output string \(out)")
63+
}
6164

62-
let outURL = URL(fileURLWithPath: kOutputFile)
65+
let outURL = URL(fileURLWithPath: outputFile)
6366

64-
try data.write(to: outURL)
67+
try data.write(to: outURL)
68+
}
6569
}

Sources/CImGui/cimgui.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@
22
//based on imgui.h file version "1.74 WIP" from Dear ImGui https://github.com/ocornut/imgui
33

44
#include "./imgui/imgui.h"
5+
#include "./imgui/imgui_internal.h"
56
#include "cimgui.h"
67

7-
#include "./imgui/imgui_internal.h"
8+
89

910
CIMGUI_API ImVec2* ImVec2_ImVec2(void)
1011
{

0 commit comments

Comments
 (0)