diff --git a/.gitignore b/.gitignore index b5b1cb42..eb3e6d84 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,14 @@ tags *.bak install/*.crt install/*.p12 + +# Extras for building with MSVC +x64/ +ipch/ +*.sdf +*.suo +*.user +*.filters +*.unsuccessfulbuild +*.cache +*.lastbuildstate diff --git a/Bossa.sln b/Bossa.sln new file mode 100644 index 00000000..1faa4405 --- /dev/null +++ b/Bossa.sln @@ -0,0 +1,43 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.32002.261 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Bossa", "Bossa.vcxproj", "{51FD357A-201B-79B1-66FC-17DB8D3027E6}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + bossac-Debug|Win32 = bossac-Debug|Win32 + bossac-Debug|x64 = bossac-Debug|x64 + bossac-Release|Win32 = bossac-Release|Win32 + bossac-Release|x64 = bossac-Release|x64 + Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 + Release|Win32 = Release|Win32 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {51FD357A-201B-79B1-66FC-17DB8D3027E6}.bossac-Debug|Win32.ActiveCfg = bossac-Debug|Win32 + {51FD357A-201B-79B1-66FC-17DB8D3027E6}.bossac-Debug|Win32.Build.0 = bossac-Debug|Win32 + {51FD357A-201B-79B1-66FC-17DB8D3027E6}.bossac-Debug|x64.ActiveCfg = bossac-Debug|x64 + {51FD357A-201B-79B1-66FC-17DB8D3027E6}.bossac-Debug|x64.Build.0 = bossac-Debug|x64 + {51FD357A-201B-79B1-66FC-17DB8D3027E6}.bossac-Release|Win32.ActiveCfg = bossac-Release|Win32 + {51FD357A-201B-79B1-66FC-17DB8D3027E6}.bossac-Release|Win32.Build.0 = bossac-Release|Win32 + {51FD357A-201B-79B1-66FC-17DB8D3027E6}.bossac-Release|x64.ActiveCfg = bossac-Release|x64 + {51FD357A-201B-79B1-66FC-17DB8D3027E6}.bossac-Release|x64.Build.0 = bossac-Release|x64 + {51FD357A-201B-79B1-66FC-17DB8D3027E6}.Debug|Win32.ActiveCfg = Debug|Win32 + {51FD357A-201B-79B1-66FC-17DB8D3027E6}.Debug|Win32.Build.0 = Debug|Win32 + {51FD357A-201B-79B1-66FC-17DB8D3027E6}.Debug|x64.ActiveCfg = Debug|x64 + {51FD357A-201B-79B1-66FC-17DB8D3027E6}.Debug|x64.Build.0 = Debug|x64 + {51FD357A-201B-79B1-66FC-17DB8D3027E6}.Release|Win32.ActiveCfg = Release|Win32 + {51FD357A-201B-79B1-66FC-17DB8D3027E6}.Release|Win32.Build.0 = Release|Win32 + {51FD357A-201B-79B1-66FC-17DB8D3027E6}.Release|x64.ActiveCfg = Release|x64 + {51FD357A-201B-79B1-66FC-17DB8D3027E6}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {B309DC9E-03CE-4FAD-9EE3-8AC9318C2FF8} + EndGlobalSection +EndGlobal diff --git a/Bossa.vcxproj b/Bossa.vcxproj new file mode 100644 index 00000000..9f8c9cd3 --- /dev/null +++ b/Bossa.vcxproj @@ -0,0 +1,383 @@ + + + + + bossac-Debug + Win32 + + + bossac-Debug + x64 + + + bossac-Release + Win32 + + + bossac-Release + x64 + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + Win32Proj + {51FD357A-201B-79B1-66FC-17DB8D3027E6} + 10.0 + Bossa + + + + Application + true + v142 + + + Application + true + v142 + + + Application + true + v142 + + + Application + true + v142 + + + Application + false + v142 + + + Application + false + v142 + + + Application + false + v142 + + + Application + false + v142 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + true + + + true + + + true + bossac + + + true + + + true + + + false + + + false + bossac + + + + WIN32;_DEBUG;_WINDOWS;__WIN32__;VERSION="0.0";%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS + MultiThreadedDebugDLL + Level3 + ProgramDatabase + Disabled + C:\Users\David\Documents\GitHub\BOSSA\src\msvc;C:\wxWidgets-3.1.5\include;C:\wxWidgets-3.1.5\include\msvc;%(AdditionalIncludeDirectories) + + + MachineX86 + true + Windows + + + + + WIN32;_DEBUG;_WINDOWS;__WIN32__;VERSION="0.0";%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS + MultiThreadedDebugDLL + Level3 + ProgramDatabase + Disabled + C:\Users\David\Documents\GitHub\BOSSA\src\msvc;C:\wxWidgets-3.1.5\include;C:\wxWidgets-3.1.5\include\msvc;%(AdditionalIncludeDirectories) + + + MachineX86 + true + Windows + + + + + WIN64;_DEBUG;_WINDOWS;__WIN64__;VERSION="1.9.1a-duet3d";_CRT_SECURE_NO_WARNINGS;wxMSVC_VERSION=142;_UNICODE;%(PreprocessorDefinitions) + MultiThreadedDebugDLL + Level3 + ProgramDatabase + Disabled + C:\Users\David\Documents\GitHub\BOSSA\src\msvc;C:\wxWidgets-3.1.5\include;C:\wxWidgets-3.1.5\include\msvc;%(AdditionalIncludeDirectories) + + + true + Windows + C:\wxWidgets-3.1.5\lib\vc142_x64_lib;%(AdditionalLibraryDirectories) + setupapi.lib;%(AdditionalDependencies) + + + C:\wxWidgets-3.1.5\include;%(AdditionalIncludeDirectories) + + + + + WIN64;_DEBUG;_WINDOWS;__WIN64__;VERSION="1.9.1a-duet3d";_CRT_SECURE_NO_WARNINGS;wxMSVC_VERSION=142;_UNICODE;%(PreprocessorDefinitions) + MultiThreadedDebugDLL + Level3 + ProgramDatabase + Disabled + C:\Users\David\Documents\GitHub\BOSSA\src\msvc;%(AdditionalIncludeDirectories) + + + true + Console + %(AdditionalLibraryDirectories) + setupapi.lib;%(AdditionalDependencies) + + + C:\wxWidgets-3.1.5\include;%(AdditionalIncludeDirectories) + + + + + WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS + MultiThreadedDLL + Level3 + ProgramDatabase + C:\Users\David\Documents\GitHub\BOSSA\src\msvc;%(AdditionalIncludeDirectories) + + + MachineX86 + true + Windows + true + true + + + + + WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS + MultiThreadedDLL + Level3 + ProgramDatabase + C:\Users\David\Documents\GitHub\BOSSA\src\msvc;%(AdditionalIncludeDirectories) + + + MachineX86 + true + Windows + true + true + + + + + WIN64;NDEBUG;_WINDOWS;VERSION="1.9.1a-duet3d";_CRT_SECURE_NO_WARNINGS;wxMSVC_VERSION=142;_UNICODE;%(PreprocessorDefinitions) + MultiThreadedDLL + Level3 + ProgramDatabase + C:\Users\David\Documents\GitHub\BOSSA\src\msvc;C:\wxWidgets-3.1.5\include;C:\wxWidgets-3.1.5\include\msvc;%(AdditionalIncludeDirectories) + + + true + Windows + true + true + C:\wxWidgets-3.1.5\lib\vc142_x64_lib;%(AdditionalLibraryDirectories) + setupapi.lib;%(AdditionalDependencies) + + + C:\wxWidgets-3.1.5\include;%(AdditionalIncludeDirectories) + + + + + WIN64;NDEBUG;_WINDOWS;VERSION="1.9.1a-duet3d";_CRT_SECURE_NO_WARNINGS;wxMSVC_VERSION=142;_UNICODE;%(PreprocessorDefinitions) + MultiThreadedDLL + Level3 + ProgramDatabase + C:\Users\David\Documents\GitHub\BOSSA\src\msvc;%(AdditionalIncludeDirectories) + + + true + Console + true + true + %(AdditionalLibraryDirectories) + setupapi.lib;%(AdditionalDependencies) + + + C:\wxWidgets-3.1.5\include;%(AdditionalIncludeDirectories) + + + + + + true + true + + + true + true + + + true + true + + + true + true + false + false + + + true + true + + + true + true + + + true + true + + + true + true + + + true + true + + + true + true + + + true + true + + + true + true + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Makefile b/Makefile index 63b2b017..bbe729d1 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ # Version # VERSION?=$(shell git describe --tags --dirty) -WXVERSION=3.0 +WXVERSION=3.2 # # Source files @@ -35,7 +35,8 @@ OS:=$(shell uname -s | cut -c -7) # ifeq ($(OS),MINGW32) # Use wxWindows development branch to work around font scaling issues on Windows -WXVERSION=3.1 +# Following line commented out by droftarts, as libwxgtk3.2-dev is the current version 06/11/24 +# WXVERSION=3.1 EXE=.exe COMMON_SRCS+=WinSerialPort.cpp WinPortFactory.cpp COMMON_LDFLAGS=-Wl,--enable-auto-import -static -static-libstdc++ -static-libgcc diff --git a/src/BossaForm.cpp b/src/BossaForm.cpp index ecda8792..915466fd 100644 --- a/src/BossaForm.cpp +++ b/src/BossaForm.cpp @@ -230,7 +230,7 @@ ProgressDialog::ProgressDialog( wxWindow* parent, wxWindowID id, const wxString& _infoStaticText = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); _infoStaticText->Wrap( -1 ); - _progressBoxSizer->Add( _infoStaticText, 0, wxALIGN_CENTER|wxALL|wxEXPAND, 5 ); + _progressBoxSizer->Add( _infoStaticText, 0, wxALL|wxEXPAND, 5 ); // DC do not use wxALIGN_CENTER with wxEXPAND, it triggers an assertion failure in wxWidgets _statusGauge = new wxGauge( this, wxID_ANY, 100, wxDefaultPosition, wxDefaultSize, wxGA_HORIZONTAL ); _statusGauge->SetValue( 0 ); diff --git a/src/BossaWindow.cpp b/src/BossaWindow.cpp index eb046e8e..f3a45674 100644 --- a/src/BossaWindow.cpp +++ b/src/BossaWindow.cpp @@ -36,6 +36,10 @@ #include #include +#if defined(_WIN32) || defined(_WIN64) +#define F_OK 0 // test file for existence only when calling access() +#define access(...) _access(__VA_ARGS__) +#endif using namespace std; diff --git a/src/CmdOpts.cpp b/src/CmdOpts.cpp index 675f7e1d..4218801e 100644 --- a/src/CmdOpts.cpp +++ b/src/CmdOpts.cpp @@ -30,6 +30,7 @@ #include #include #include +#include #include "CmdOpts.h" @@ -83,9 +84,9 @@ CmdOpts::usage(FILE* out) int CmdOpts::parse() { - struct option long_opts[_numOpts + 1]; - char optstring[_numOpts * 3 + 1]; - char* optPtr = optstring; + std::vector