From c0fa4474043ab64ef567b36067abd1ed38173e34 Mon Sep 17 00:00:00 2001 From: Alastair D'Silva Date: Wed, 28 Nov 2018 13:36:11 +1100 Subject: [PATCH 1/5] Revert "Getting the solution to build" This reverts commit f38d66a1c306f66cfaf14e626cf831988bccebe5. --- .gitmodules | 3 --- GerberLibrary/GerberLibrary.csproj | 7 +------ GerberProjects/GerberProjects.sln | 16 ---------------- dependencies/Triangle.NET | 1 - 4 files changed, 1 insertion(+), 26 deletions(-) delete mode 100644 .gitmodules delete mode 160000 dependencies/Triangle.NET 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/GerberLibrary/GerberLibrary.csproj b/GerberLibrary/GerberLibrary.csproj index 9204c54..e409228 100644 --- a/GerberLibrary/GerberLibrary.csproj +++ b/GerberLibrary/GerberLibrary.csproj @@ -112,12 +112,7 @@ - - - {f7907a0a-b75f-400b-9e78-bfad00db4d6b} - Triangle - - + - \ 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 e409228..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 + @@ -121,4 +124,4 @@ --> - \ No newline at end of file + 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/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/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/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 + From aefc6cc7843125aceee334fd7b5c2a00ddfbfec7 Mon Sep 17 00:00:00 2001 From: Alastair D'Silva Date: Wed, 28 Nov 2018 11:24:31 +1100 Subject: [PATCH 3/5] Use OpenTK 3.0.1 Signed-off-by: Alastair D'Silva --- GerberPanelizer/GerberPanelize.cs | 2 +- GerberPanelizer/QuickFont/QFont.cs | 4 ++-- GerberPanelizer/packages.config | 6 +++--- GerberViewer/GLGraphicsInterface.cs | 8 ++++---- GerberViewer/LayerDisplay.cs | 2 +- GerberViewer/packages.config | 7 +++---- 6 files changed, 14 insertions(+), 15 deletions(-) mode change 100644 => 100755 GerberViewer/GLGraphicsInterface.cs mode change 100644 => 100755 GerberViewer/LayerDisplay.cs 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/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/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/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/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 + From 6864a80391758960cd9399b1eb1afcacff8783f2 Mon Sep 17 00:00:00 2001 From: Alastair D'Silva Date: Fri, 2 Nov 2018 15:01:38 +1100 Subject: [PATCH 4/5] Add a Mono build script for Linux Signed-off-by: Alastair D'Silva --- build.sh | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100755 build.sh 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 From cd4291542a579d459391dfbe819b77ffd89e3905 Mon Sep 17 00:00:00 2001 From: Alastair D'Silva Date: Wed, 28 Nov 2018 11:00:51 +1100 Subject: [PATCH 5/5] Add build instructions Signed-off-by: Alastair D'Silva --- README.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) 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.