diff --git a/.gitmodules b/.gitmodules
deleted file mode 100644
index f3817ab..0000000
--- a/.gitmodules
+++ /dev/null
@@ -1,3 +0,0 @@
-[submodule "dependencies/Triangle.NET"]
- path = dependencies/Triangle.NET
- url = https://github.com/eppz/Triangle.NET.git
diff --git a/AutoPanelBuilder/AutoPanelBuilder.csproj b/AutoPanelBuilder/AutoPanelBuilder.csproj
index 1f93bd9..82f484a 100644
--- a/AutoPanelBuilder/AutoPanelBuilder.csproj
+++ b/AutoPanelBuilder/AutoPanelBuilder.csproj
@@ -46,7 +46,7 @@
- ..\packages\Triangle.0.0.6-Beta3\lib\net45\Triangle.dll
+ ..\GerberProjects\packages\Triangle.0.0.6-Beta3\lib\net45\Triangle.dll
@@ -67,4 +67,4 @@
-
\ No newline at end of file
+
diff --git a/DirtyPCBs/DirtyPCB_BoardStats/DirtyPCB_BoardStats.csproj b/DirtyPCBs/DirtyPCB_BoardStats/DirtyPCB_BoardStats.csproj
index 3282782..f5c320f 100644
--- a/DirtyPCBs/DirtyPCB_BoardStats/DirtyPCB_BoardStats.csproj
+++ b/DirtyPCBs/DirtyPCB_BoardStats/DirtyPCB_BoardStats.csproj
@@ -37,8 +37,8 @@
favicon.ico
-
- ..\..\GerberProjects\packages\DotNetZip.1.10.1\lib\net20\DotNetZip.dll
+
+ ..\..\GerberProjects\packages\DotNetZip.1.11.0\lib\net20\DotNetZip.dll
True
@@ -76,4 +76,4 @@
-->
-
\ No newline at end of file
+
diff --git a/GerberAnalyse/GerberAnalyse.csproj b/GerberAnalyse/GerberAnalyse.csproj
index 9835036..06914b8 100644
--- a/GerberAnalyse/GerberAnalyse.csproj
+++ b/GerberAnalyse/GerberAnalyse.csproj
@@ -36,8 +36,8 @@
favicon.ico
-
- ..\GerberProjects\packages\DotNetZip.1.10.1\lib\net20\DotNetZip.dll
+
+ ..\GerberProjects\packages\DotNetZip.1.11.0\lib\net20\DotNetZip.dll
@@ -72,4 +72,4 @@
-->
-
\ No newline at end of file
+
diff --git a/GerberLibrary/GerberLibrary.csproj b/GerberLibrary/GerberLibrary.csproj
index 9204c54..be7c143 100644
--- a/GerberLibrary/GerberLibrary.csproj
+++ b/GerberLibrary/GerberLibrary.csproj
@@ -67,6 +67,9 @@
+
+ ..\GerberProjects\packages\Triangle.0.0.6-Beta3\lib\net45\Triangle.dll
+
@@ -112,12 +115,7 @@
-
-
- {f7907a0a-b75f-400b-9e78-bfad00db4d6b}
- Triangle
-
-
+
-
\ No newline at end of file
+
diff --git a/GerberPanelizer/GerberPanelize.cs b/GerberPanelizer/GerberPanelize.cs
index b30d7fc..59ed2b7 100644
--- a/GerberPanelizer/GerberPanelize.cs
+++ b/GerberPanelizer/GerberPanelize.cs
@@ -656,7 +656,7 @@ private void glControl1_Paint(object sender, PaintEventArgs e)
GL.Disable(EnableCap.DepthTest);
GL.Enable(EnableCap.Blend);
- GL.BlendFunc(BlendingFactorSrc.SrcAlpha, BlendingFactorDest.OneMinusSrcAlpha);
+ GL.BlendFunc(BlendingFactor.SrcAlpha, BlendingFactor.OneMinusSrcAlpha);
GL.Hint(HintTarget.LineSmoothHint, HintMode.Nicest);
GL.Hint(HintTarget.PointSmoothHint, HintMode.Nicest);
diff --git a/GerberPanelizer/GerberPanelize.csproj b/GerberPanelizer/GerberPanelize.csproj
index 6b0735e..255d947 100644
--- a/GerberPanelizer/GerberPanelize.csproj
+++ b/GerberPanelizer/GerberPanelize.csproj
@@ -61,12 +61,12 @@
app.manifest
-
- ..\GerberProjects\packages\OpenTK.1.1.2349.61993\lib\NET40\OpenTK.dll
+
+ ..\GerberProjects\packages\OpenTK.3.0.1\lib\net20\OpenTK.dll
True
-
- ..\GerberProjects\packages\OpenTK.GLControl.1.1.2349.61993\lib\NET40\OpenTK.GLControl.dll
+
+ ..\GerberProjects\packages\OpenTK.GLControl.3.0.1\lib\net20\OpenTK.GLControl.dll
True
@@ -261,4 +261,4 @@
-->
-
\ No newline at end of file
+
diff --git a/GerberPanelizer/QuickFont/QFont.cs b/GerberPanelizer/QuickFont/QFont.cs
index 0ab0d53..fa97c9d 100644
--- a/GerberPanelizer/QuickFont/QFont.cs
+++ b/GerberPanelizer/QuickFont/QFont.cs
@@ -588,7 +588,7 @@ private SizeF PrintOrMeasure(string text, QFontAlignment alignment, bool measure
if (Options.UseDefaultBlendFunction)
{
- GL.BlendFunc(BlendingFactorSrc.SrcAlpha, BlendingFactorDest.OneMinusSrcAlpha);
+ GL.BlendFunc(BlendingFactor.SrcAlpha, BlendingFactor.OneMinusSrcAlpha);
}
}
@@ -1137,7 +1137,7 @@ private SizeF PrintOrMeasure(ProcessedText processedText, bool measureOnly)
if (Options.UseDefaultBlendFunction)
{
- GL.BlendFunc(BlendingFactorSrc.SrcAlpha, BlendingFactorDest.OneMinusSrcAlpha);
+ GL.BlendFunc(BlendingFactor.SrcAlpha, BlendingFactor.OneMinusSrcAlpha);
}
}
diff --git a/GerberPanelizer/QuickFont/QuickFont.csproj b/GerberPanelizer/QuickFont/QuickFont.csproj
index a441858..a74356a 100644
--- a/GerberPanelizer/QuickFont/QuickFont.csproj
+++ b/GerberPanelizer/QuickFont/QuickFont.csproj
@@ -56,8 +56,8 @@
MinimumRecommendedRules.ruleset
-
- ..\GerberCombinerBuilder\bin\Release\OpenTK.dll
+
+ ..\GerberProjects\packages\OpenTK.3.0.1\lib\net20\OpenTK.dll
@@ -99,4 +99,4 @@
-->
-
\ No newline at end of file
+
diff --git a/GerberPanelizer/packages.config b/GerberPanelizer/packages.config
index 0714e96..5e886ff 100644
--- a/GerberPanelizer/packages.config
+++ b/GerberPanelizer/packages.config
@@ -1,7 +1,7 @@
-
-
+
+
-
\ No newline at end of file
+
diff --git a/GerberProjects/GerberProjects.sln b/GerberProjects/GerberProjects.sln
index 436de85..499ba64 100644
--- a/GerberProjects/GerberProjects.sln
+++ b/GerberProjects/GerberProjects.sln
@@ -78,10 +78,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FrontPanelBuilder", "..\Fro
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GerberToDxf", "..\GerberToDxf\GerberToDxf\GerberToDxf.csproj", "{843057E6-2FC0-4C78-AAB3-197C60AE72BF}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "dependencies", "dependencies", "{AAAFD0A7-47D1-4530-86CA-B68C5790E7C1}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Triangle", "..\dependencies\Triangle.NET\Triangle.NET\Triangle\Triangle.csproj", "{F7907A0A-B75F-400B-9E78-BFAD00DB4D6B}"
-EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -330,14 +326,6 @@ Global
{843057E6-2FC0-4C78-AAB3-197C60AE72BF}.Release|Any CPU.Build.0 = Release|Any CPU
{843057E6-2FC0-4C78-AAB3-197C60AE72BF}.Release|x86.ActiveCfg = Release|Any CPU
{843057E6-2FC0-4C78-AAB3-197C60AE72BF}.Release|x86.Build.0 = Release|Any CPU
- {F7907A0A-B75F-400B-9E78-BFAD00DB4D6B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {F7907A0A-B75F-400B-9E78-BFAD00DB4D6B}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {F7907A0A-B75F-400B-9E78-BFAD00DB4D6B}.Debug|x86.ActiveCfg = Debug|Any CPU
- {F7907A0A-B75F-400B-9E78-BFAD00DB4D6B}.Debug|x86.Build.0 = Debug|Any CPU
- {F7907A0A-B75F-400B-9E78-BFAD00DB4D6B}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {F7907A0A-B75F-400B-9E78-BFAD00DB4D6B}.Release|Any CPU.Build.0 = Release|Any CPU
- {F7907A0A-B75F-400B-9E78-BFAD00DB4D6B}.Release|x86.ActiveCfg = Release|Any CPU
- {F7907A0A-B75F-400B-9E78-BFAD00DB4D6B}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -373,10 +361,6 @@ Global
{822016C1-52B8-449C-BE7A-D3ABA943B8B6} = {5B17443F-D48D-429E-83E3-2C7DCA8C6ED3}
{485C42A7-B359-4091-9BE7-7B8E99A8D7EA} = {5B17443F-D48D-429E-83E3-2C7DCA8C6ED3}
{843057E6-2FC0-4C78-AAB3-197C60AE72BF} = {F705564A-6956-4675-A941-6ED916ADC0AD}
- {F7907A0A-B75F-400B-9E78-BFAD00DB4D6B} = {AAAFD0A7-47D1-4530-86CA-B68C5790E7C1}
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {D3E1B175-5E33-4A46-8DBC-A8B9B4A50987}
EndGlobalSection
GlobalSection(Performance) = preSolution
HasPerformanceSessions = true
diff --git a/GerberViewer/GLGraphicsInterface.cs b/GerberViewer/GLGraphicsInterface.cs
old mode 100644
new mode 100755
index 1208dec..a2d39fe
--- a/GerberViewer/GLGraphicsInterface.cs
+++ b/GerberViewer/GLGraphicsInterface.cs
@@ -542,9 +542,9 @@ public void Link()
AttributeInfo info = new AttributeInfo();
int length = 0;
- StringBuilder name = new StringBuilder();
+ String name;
- GL.GetActiveAttrib(ProgramID, i, 256, out length, out info.size, out info.type, name);
+ GL.GetActiveAttrib(ProgramID, i, 256, out length, out info.size, out info.type, out name);
info.name = name.ToString();
info.address = GL.GetAttribLocation(ProgramID, info.name);
@@ -556,9 +556,9 @@ public void Link()
UniformInfo info = new UniformInfo();
int length = 0;
- StringBuilder name = new StringBuilder();
+ String name;
- GL.GetActiveUniform(ProgramID, i, 256, out length, out info.size, out info.type, name);
+ GL.GetActiveUniform(ProgramID, i, 256, out length, out info.size, out info.type, out name);
info.name = name.ToString();
Uniforms.Add(name.ToString(), info);
diff --git a/GerberViewer/GerberViewer.csproj b/GerberViewer/GerberViewer.csproj
index 54b0211..fafef93 100644
--- a/GerberViewer/GerberViewer.csproj
+++ b/GerberViewer/GerberViewer.csproj
@@ -41,16 +41,16 @@
favicon.ico
-
- ..\GerberProjects\packages\DotNetZip.1.10.1\lib\net20\DotNetZip.dll
+
+ ..\GerberProjects\packages\DotNetZip.1.11.0\lib\net20\DotNetZip.dll
True
-
- ..\GerberProjects\packages\OpenTK.Next.1.2.2336.6514-pre\lib\net20\OpenTK.dll
+
+ ..\GerberProjects\packages\OpenTK.3.0.1\lib\net20\OpenTK.dll
True
-
- ..\GerberProjects\packages\OpenTK.Next.GLControl.1.2.2336.6514-pre\lib\net20\OpenTK.GLControl.dll
+
+ ..\GerberProjects\packages\OpenTK.GLControl.3.0.1\lib\net20\OpenTK.GLControl.dll
True
@@ -68,12 +68,12 @@
..\GerberProjects\packages\Triangle.0.0.6-Beta3\lib\net45\Triangle.dll
True
-
- ..\GerberProjects\packages\DockPanelSuite.2.11.0\lib\net40\WeifenLuo.WinFormsUI.Docking.dll
+
+ ..\GerberProjects\packages\DockPanelSuite.3.0.6\lib\net40\WeifenLuo.WinFormsUI.Docking.dll
True
-
- ..\GerberProjects\packages\DockPanelSuite.ThemeVS2015.2.11.0\lib\net40\WeifenLuo.WinFormsUI.Docking.ThemeVS2015.dll
+
+ ..\GerberProjects\packages\DockPanelSuite.ThemeVS2015.3.0.6\lib\net40\WeifenLuo.WinFormsUI.Docking.ThemeVS2015.dll
True
@@ -144,4 +144,4 @@
-
\ No newline at end of file
+
diff --git a/GerberViewer/LayerDisplay.cs b/GerberViewer/LayerDisplay.cs
old mode 100644
new mode 100755
index 2db718a..f969e55
--- a/GerberViewer/LayerDisplay.cs
+++ b/GerberViewer/LayerDisplay.cs
@@ -174,7 +174,7 @@ private void Glcontrol1_Paint(object sender, PaintEventArgs e)
GL.UniformMatrix4(MainShader.Uniforms["trans"].address, false, ref M);
GL.UniformMatrix4(MainShader.Uniforms["view"].address, false, ref View);
GL.Enable(EnableCap.Blend);
- GL.BlendFunc(BlendingFactorSrc.SrcAlpha, BlendingFactorDest.OneMinusSrcAlpha);
+ GL.BlendFunc(BlendingFactor.SrcAlpha, BlendingFactor.OneMinusSrcAlpha);
VBOCache.RenderVBO(MainShader);
MainShader.UnBind();
//DrawGerbersToGraphicsInterface(Bounds, GI);
diff --git a/GerberViewer/packages.config b/GerberViewer/packages.config
index af742cf..e8120b9 100644
--- a/GerberViewer/packages.config
+++ b/GerberViewer/packages.config
@@ -3,8 +3,7 @@
-
-
-
+
+
-
\ No newline at end of file
+
diff --git a/Project_Utilities/TilingLibrary/TINRS-ArtWork.csproj b/Project_Utilities/TilingLibrary/TINRS-ArtWork.csproj
index 4bb6443..7aabdf3 100644
--- a/Project_Utilities/TilingLibrary/TINRS-ArtWork.csproj
+++ b/Project_Utilities/TilingLibrary/TINRS-ArtWork.csproj
@@ -40,7 +40,7 @@
- ..\..\GerberProjects\packages\GlmNet.0.5.1.0\lib\net40\GlmNet.dll
+ ..\..\GerberProjects\packages\GlmNet.0.5.1\lib\net40\GlmNet.dll
@@ -82,4 +82,4 @@
-->
-
\ No newline at end of file
+
diff --git a/README.md b/README.md
index e8ed88b..ced9671 100644
--- a/README.md
+++ b/README.md
@@ -3,10 +3,16 @@ Tools to load/edit/create/panelize/prerender sets of gerber files.
A recent build is available on http://blog.thisisnotrocketscience.nl/projects/pcb-panelizer/
-The .sln file (for VS2015 community edition) can be found in the GerberProjects folder.
-
All tools are clean C# and will run fine under Mono.
Please see http://www.thisisnotrocketscience.nl for news/updates/blogs
Follow us on twitter: @rocket_not
+
+## Building
+### Visual Studio 2015 upwards
+Open the `GerberProjects/GerberProjects.sln` solution, convert it to your version of Visual Studio
+(if necessary), then build it. Dependencies should be fetched automatically via Nuget.
+
+### Linux
+Run `./build.sh`. Dependencies should be automatically fetched.
diff --git a/build.sh b/build.sh
new file mode 100755
index 0000000..d203c93
--- /dev/null
+++ b/build.sh
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+set -euo pipefail
+set -x
+
+nuget () {
+ package="$1"
+ version="$2"
+ zip="`mktemp`.zip"
+ url="https://www.nuget.org/api/v2/package/$package/$version"
+ dir="GerberProjects/packages/$package.$version"
+
+ test -d "$dir" || {
+ wget "$url" -O "$zip"
+ mkdir -p "$dir"
+ unzip "$zip" -d "$dir"
+ rm "$zip"
+ }
+}
+
+# Needed as xbuild gets confused about some modern terminals
+export TERM=xterm
+
+nuget Triangle 0.0.6-Beta3
+nuget DotNetZip 1.11.0
+nuget OpenTK 3.0.1
+nuget OpenTK.GLControl 3.0.1
+nuget netDXF 2.0.2
+nuget netDXF 0.9.3
+nuget GlmNet 0.5.1
+nuget DockPanelSuite 3.0.6
+nuget DockPanelSuite.ThemeVS2015 3.0.6
+
+
+xbuild /p:Configuration=Debug GerberProjects/GerberProjects.sln
diff --git a/dependencies/Triangle.NET b/dependencies/Triangle.NET
deleted file mode 160000
index 6f0e55b..0000000
--- a/dependencies/Triangle.NET
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 6f0e55b876d515aa7a61270864c56e98710d785b