Skip to content

Commit 389dcb2

Browse files
committed
Merge branch 'dev' into master
* dev: (31 commits) Add new release License.txt: Minor update matrixfilereader Help.ipf: Update HandleResamplingIfRequested: Increase command buffer Change project URL to point to github page Tests: Use JUNIT file as artifact Tests: Enable JUNIT output stdafx.h: Require Windows 10 or later Fix compile warnings about unused parameters Enhance usage of XOPToolkit functions Fix compilation for x64 Remove encoding conversion for IP6 Add x64 support Add new bricklet types and view codes from Vernissage 2.4 header Reformat source code with clang-format Add .clang-format create-public-release.sh: Adapt to newer VS version Raise version to 0.26 Tests: Shortend directory names in the new version dataFolderExists: Make it work with IP8 again ...
2 parents f8b6de6 + 5b74f7c commit 389dcb2

64 files changed

Lines changed: 3729 additions & 8758 deletions

File tree

Some content is hidden

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

License.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright (C) 2009-2017, Thomas Braun, thomas <dot> braun <aeht> byte <minus> physics <dot> de
1+
Copyright (C) 2009-2020, Thomas Braun, thomas <dot> braun <aeht> byte <minus> physics <dot> de
22

33
This work was partly done during the work at EMPA Thun, section 127 (nanotech@surfaces, http://www.empa.ch/plugin/template/empa/848/*/---/l=1), Switzerland.
44

@@ -9,7 +9,7 @@
99
Additional permission under GNU GPL version 3 section 7
1010

1111
- The "MatrixFileReader Project" may be statically linked against libraries from the XOP Toolkit (WaveMetrics Incorporated, Portland, USA) to produce an External Operation for Igor Pro.
12-
- Dynamic/Static linking to libraries from the Vernissage Toolkit from Omicron NanoTechnology GmbH, Taunusstein, Germany is also allowed.
12+
- Dynamic/Static linking to libraries from the Vernissage Toolkit from Scienta Omicron, Uppsala, Sweden is also allowed.
1313
- You may copy and distribute such a system following the terms of the GNU Lesser GPL v3 or later for the "MatrixFileReader XOP" and the licenses of the other code/libraries concerned.
1414

1515

Readme.md

Lines changed: 25 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
## Installation
22

33
### Requirements
4-
* Igor Pro 6.2.0 or later (Igor Pro 7 works as well)
5-
* Scienta Omicron Vernissage 2.2 or 2.3.x
6-
* Windows XP SP2/Vista/7/10
4+
* Igor Pro 8.0 or later
5+
* Scienta Omicron Vernissage 2.4.1 (32-bit or 64-bit)
6+
* Windows 10
77

88
### Steps
99
1. Install Igor Pro
1010
2. Start Igor, this will create a folder called WaveMetrics in "My Documents"
1111
3. Install Vernissage
12-
4. Install vcredist_x86.exe (Microsoft Visual C++ 2005 Redistributable Package x86) shipped with the XOP.
12+
4. Install vcredist_x86.exe/vcredist_x64.exe (Microsoft Visual C++ 2013 Redistributable Package x86/x64) shipped with the XOP.
1313
5.
1414
1. Copy "matrixfilereader.xop" to "My Documents\WaveMetrics\Igor Pro X User Files\Igor extensions"
1515
2. Copy "matrixfilereader Help.ihf" to "My Documents\WaveMetrics\Igor Pro X User Files\Igor Help files"
@@ -19,32 +19,43 @@
1919
## Compilation
2020

2121
### Requirements
22-
* Visual Studio 2005 Professional, the Express Version does not work.
23-
* Windows XP SP2/Vista/7/10
22+
* Visual Studio 2013 Community/Professional with [1]
2423
* Vernissage and the corresponding SDK
25-
* XOP Toolkit 7.01
24+
* XOP Toolkit 8.01
2625
* Boost 1.55
2726
* Igor Pro
2827

2928
### Steps
3029
* Close all Igor instances
3130
* Open MatrixFileReader.sln
32-
* Adjust the path where the XOP should be copied by editing copyfiles.bat
31+
* Adjust the path where the XOP should be copied by editing copyfiles-32.bat/copyfiles-64.bat
3332
* Build it (`Build->Rebuild Solution`)
3433
* The XOP and the help file is automatically copied to the location given earlier
3534

3635
### Various Hints
3736
* Always compile the "Release" version. The "Debug" version can not be used with the Vernissage DLLs.
38-
* If you want to add new operations have a look at Operation-Template-Generator.pxp which uses `ParseOperationTemplate`.
37+
* If you want to add new operations have a look at
38+
Operation-Template-Generator.pxp which uses `ParseOperationTemplate`.
3939
* Each header file contains a small abstract about its purpose.
40-
* Boost can be compiled from a Visual Studio command prompt with
41-
`b2 -j6 toolset=msvc-8.0 variant=release threading=multi link=static runtime-link=shared stage`
42-
* XOP Toolkit 7.01 needs to be patched to compile with Visual Studio 2005.
43-
Compilation itself can be done via `cmake -G "Visual Studio 8 2005` and
44-
`cmake --build . --config release`.
40+
* Boost can be compiled from a Visual Studio command prompt:
41+
* Apply the patch from [2]
42+
* Compile 32-bit libraries
43+
* `b2 -j6 toolset=msvc-12.0 variant=release threading=multi link=static runtime-link=shared stage`
44+
* `move stage stage-32bit`
45+
* Compile 64-bit libraries
46+
* `b2 -j6 toolset=msvc-12.0 address-model=64 variant=release threading=multi link=static runtime-link=shared stage`
47+
* `move stage stage-64bit`
48+
* XOPSupport compilation itself can be done via `cmake -G "Visual Studio 12
49+
2013`/`cmake -G "Visual Studio 12 2013" -A x64` and `cmake --build . --config
50+
release`.
4551

4652
### Testing
4753

4854
* The unit and regression test suite requires our [unit testing framework](https://github.com/byte-physics/igor-unit-testing-framework).
4955
* The test suite always finishes without errors.
5056
* The reference data is available upon request only as it is roughly 5GB.
57+
58+
### Links
59+
60+
[1]: https://devblogs.microsoft.com/cppblog/mfc-support-for-mbcs-deprecated-in-visual-studio-2013/
61+
[2]: https://svn.boost.org/trac10/attachment/ticket/8757/0005-Boost.S11n-include-missing-algorithm.patch

VC8/.clang-format

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
---
2+
Language: Cpp
3+
# BasedOnStyle: LLVM
4+
AccessModifierOffset: -2
5+
AlignAfterOpenBracket: true
6+
AlignConsecutiveAssignments: true
7+
AlignEscapedNewlinesLeft: false
8+
AlignOperands: true
9+
AlignTrailingComments: true
10+
AllowAllParametersOfDeclarationOnNextLine: true
11+
AllowShortBlocksOnASingleLine: false
12+
AllowShortCaseLabelsOnASingleLine: false
13+
AllowShortFunctionsOnASingleLine: false
14+
AllowShortIfStatementsOnASingleLine: false
15+
AllowShortLoopsOnASingleLine: false
16+
AlwaysBreakAfterDefinitionReturnType: None
17+
AlwaysBreakBeforeMultilineStrings: false
18+
AlwaysBreakTemplateDeclarations: true
19+
BinPackArguments: true
20+
BinPackParameters: true
21+
BreakBeforeBinaryOperators: None
22+
BreakBeforeBraces: Allman
23+
BreakBeforeTernaryOperators: true
24+
BreakConstructorInitializersBeforeComma: false
25+
ColumnLimit: 120
26+
CommentPragmas: '^ IWYU pragma:'
27+
ConstructorInitializerAllOnOneLineOrOnePerLine: false
28+
ConstructorInitializerIndentWidth: 4
29+
ContinuationIndentWidth: 4
30+
Cpp11BracedListStyle: true
31+
DerivePointerAlignment: false
32+
DisableFormat: false
33+
ExperimentalAutoDetectBinPacking: false
34+
ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH ]
35+
IndentCaseLabels: false
36+
IndentWidth: 2
37+
IndentWrappedFunctionNames: false
38+
KeepEmptyLinesAtTheStartOfBlocks: true
39+
MacroBlockBegin: ''
40+
MacroBlockEnd: ''
41+
MaxEmptyLinesToKeep: 1
42+
NamespaceIndentation: None
43+
ObjCBlockIndentWidth: 2
44+
ObjCSpaceAfterProperty: false
45+
ObjCSpaceBeforeProtocolList: true
46+
PenaltyBreakBeforeFirstCallParameter: 19
47+
PenaltyBreakComment: 300
48+
PenaltyBreakFirstLessLess: 120
49+
PenaltyBreakString: 1000
50+
PenaltyExcessCharacter: 1000000
51+
PenaltyReturnTypeOnItsOwnLine: 60
52+
PointerAlignment: Right
53+
SortIncludes: false
54+
SpaceAfterCStyleCast: true
55+
SpaceBeforeAssignmentOperators: true
56+
SpaceBeforeParens: Never
57+
SpaceInEmptyParentheses: false
58+
SpacesBeforeTrailingComments: 1
59+
SpacesInAngles: false
60+
SpacesInContainerLiterals: true
61+
SpacesInCStyleCastParentheses: false
62+
SpacesInParentheses: false
63+
SpacesInSquareBrackets: false
64+
Standard: Cpp11
65+
TabWidth: 2
66+
UseTab: Never
67+
...

VC8/ForwardDecl.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@ class Wave;
1515
// Forward Declare Vernissage classes also
1616
namespace Vernissage
1717
{
18-
class Session;
18+
class Session;
1919
} // namespace Vernissage
2020

2121
namespace Bstrlib
2222
{
23-
struct CBString;
23+
struct CBString;
2424
}
2525

2626
typedef std::pair<Bstrlib::CBString, Bstrlib::CBString> StringPair;

VC8/MatrixFileReader.sln

Lines changed: 31 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,65 @@
1-
Microsoft Visual Studio Solution File, Format Version 9.00
2-
# Visual Studio 2005
3-
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MatrixFileReader", "MatrixFileReader.vcproj", "{93F8C561-7B77-4DEA-8DFC-0686D676DFB4}"
4-
ProjectSection(WebsiteProperties) = preProject
5-
Debug.AspNetCompiler.Debug = "True"
6-
Release.AspNetCompiler.Debug = "False"
7-
EndProjectSection
1+
Microsoft Visual Studio Solution File, Format Version 12.00
2+
# Visual Studio 2013
3+
VisualStudioVersion = 12.0.40629.0
4+
MinimumVisualStudioVersion = 10.0.40219.1
5+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MatrixFileReader", "MatrixFileReader.vcxproj", "{93F8C561-7B77-4DEA-8DFC-0686D676DFB4}"
86
EndProject
9-
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XOPSupport", "XOPSupport\build\XOPSupport.vcproj", "{DDBFE4DA-947F-3736-8785-D626C012DA6B}"
10-
ProjectSection(WebsiteProperties) = preProject
11-
Debug.AspNetCompiler.Debug = "True"
12-
Release.AspNetCompiler.Debug = "False"
13-
EndProjectSection
7+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XOPSupport", "XOPSupport\build\XOPSupport.vcxproj", "{DDBFE4DA-947F-3736-8785-D626C012DA6B}"
148
EndProject
159
Global
1610
GlobalSection(SolutionConfigurationPlatforms) = preSolution
1711
Debug|Win32 = Debug|Win32
12+
Debug|x64 = Debug|x64
1813
MinSizeRel|Win32 = MinSizeRel|Win32
14+
MinSizeRel|x64 = MinSizeRel|x64
1915
Release (static build)|Win32 = Release (static build)|Win32
16+
Release (static build)|x64 = Release (static build)|x64
2017
Release|Win32 = Release|Win32
18+
Release|x64 = Release|x64
2119
RelWithDebInfo|Win32 = RelWithDebInfo|Win32
20+
RelWithDebInfo|x64 = RelWithDebInfo|x64
2221
EndGlobalSection
2322
GlobalSection(ProjectConfigurationPlatforms) = postSolution
2423
{93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.Debug|Win32.ActiveCfg = Release (static build)|Win32
2524
{93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.Debug|Win32.Build.0 = Release (static build)|Win32
25+
{93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.Debug|x64.ActiveCfg = Release (static build)|x64
26+
{93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.Debug|x64.Build.0 = Release (static build)|x64
2627
{93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.MinSizeRel|Win32.ActiveCfg = Release (static build)|Win32
2728
{93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.MinSizeRel|Win32.Build.0 = Release (static build)|Win32
29+
{93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.MinSizeRel|x64.ActiveCfg = Release (static build)|x64
30+
{93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.MinSizeRel|x64.Build.0 = Release (static build)|x64
2831
{93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.Release (static build)|Win32.ActiveCfg = Release (static build)|Win32
2932
{93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.Release (static build)|Win32.Build.0 = Release (static build)|Win32
33+
{93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.Release (static build)|x64.ActiveCfg = Release (static build)|x64
34+
{93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.Release (static build)|x64.Build.0 = Release (static build)|x64
3035
{93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.Release|Win32.ActiveCfg = Release|Win32
3136
{93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.Release|Win32.Build.0 = Release|Win32
37+
{93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.Release|x64.ActiveCfg = Release|x64
38+
{93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.Release|x64.Build.0 = Release|x64
3239
{93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.RelWithDebInfo|Win32.ActiveCfg = Release (static build)|Win32
3340
{93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.RelWithDebInfo|Win32.Build.0 = Release (static build)|Win32
41+
{93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.RelWithDebInfo|x64.ActiveCfg = Release (static build)|x64
42+
{93F8C561-7B77-4DEA-8DFC-0686D676DFB4}.RelWithDebInfo|x64.Build.0 = Release (static build)|x64
3443
{DDBFE4DA-947F-3736-8785-D626C012DA6B}.Debug|Win32.ActiveCfg = Debug|Win32
3544
{DDBFE4DA-947F-3736-8785-D626C012DA6B}.Debug|Win32.Build.0 = Debug|Win32
45+
{DDBFE4DA-947F-3736-8785-D626C012DA6B}.Debug|x64.ActiveCfg = Debug|x64
46+
{DDBFE4DA-947F-3736-8785-D626C012DA6B}.Debug|x64.Build.0 = Debug|x64
3647
{DDBFE4DA-947F-3736-8785-D626C012DA6B}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32
3748
{DDBFE4DA-947F-3736-8785-D626C012DA6B}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32
49+
{DDBFE4DA-947F-3736-8785-D626C012DA6B}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
50+
{DDBFE4DA-947F-3736-8785-D626C012DA6B}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
3851
{DDBFE4DA-947F-3736-8785-D626C012DA6B}.Release (static build)|Win32.ActiveCfg = Release|Win32
3952
{DDBFE4DA-947F-3736-8785-D626C012DA6B}.Release (static build)|Win32.Build.0 = Release|Win32
53+
{DDBFE4DA-947F-3736-8785-D626C012DA6B}.Release (static build)|x64.ActiveCfg = Release|x64
54+
{DDBFE4DA-947F-3736-8785-D626C012DA6B}.Release (static build)|x64.Build.0 = Release|x64
4055
{DDBFE4DA-947F-3736-8785-D626C012DA6B}.Release|Win32.ActiveCfg = Release|Win32
4156
{DDBFE4DA-947F-3736-8785-D626C012DA6B}.Release|Win32.Build.0 = Release|Win32
57+
{DDBFE4DA-947F-3736-8785-D626C012DA6B}.Release|x64.ActiveCfg = Release|x64
58+
{DDBFE4DA-947F-3736-8785-D626C012DA6B}.Release|x64.Build.0 = Release|x64
4259
{DDBFE4DA-947F-3736-8785-D626C012DA6B}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32
4360
{DDBFE4DA-947F-3736-8785-D626C012DA6B}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32
61+
{DDBFE4DA-947F-3736-8785-D626C012DA6B}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
62+
{DDBFE4DA-947F-3736-8785-D626C012DA6B}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
4463
EndGlobalSection
4564
GlobalSection(SolutionProperties) = preSolution
4665
HideSolutionNode = FALSE

0 commit comments

Comments
 (0)