Build instructions for Linux and Windows

As a start to getting people being able to test fixes and improvements to Fritzing here are current build instructions for Linux (in this link to a post in wishlist which I made before finishing the Windows version) and Windows. Even if you don’t want to do development you may want to build the current version of Fritzing to get (and therefore test widely) fixes that have been generated since 0.9.3b was released. I don’t think there is enough new yet to make a new release any time soon (and even then the code will need wide testing) so this is likely the only way to get fixes for a while. The linux version is fairly easy. Windows is much less so.

Linux build instructions here:

Now for Windows.

A note here before you get bit, you need between 30 and 40 gigabytes of space on your C: drive to install both Visual Studio and Qt. If you don’t have enough (which I initially did not) you get to restart the entire multi hour install after you arrange more disk space.

Install the Win 7 sdk from a google search for “windows 7 sdk” (needs to be for your version of Windows, the win 7 one appears to really be 8.1)

run winsdk_web.exe

untick documentation

untick samples

ticked Windows Headers and libaries
ticked Visual C++ compilers
ticked Windows Developement tools
ticked win32 development tools
ticked .net development tools
ticked application verifyer
ticked debugging tools for windows
unticked redistributable components (already unticked)

Install

Note Visual Studio 2017 is supposed to work with Qt5.10, but in practice I was not able to get it to work. There appeared to be a bug in Qt that wasn’t finding the compilers so I went back to Visual Studio 2015.

Install visual studio 2015 from

You will need to create an account and log in to get there but it is free once you get to it. They want you to use Visual studio 2017, but I wasn’t able to make it work with Qt (due to a Qt bug apparently) and Qt on 2017 reportadly does not support 32 bit compiles (you have to build Qt from source to get that) which Fritzing needs so I’d suggest using 2015. Note I made the mistake of doing the hours long install with the C runtime 2017 installed which broke the 2015 install, so uninstall at least the 2017 runtime libraries if they are installed (I’m using a dedicated disk just for Fritzing dev, you may not be as lucky in which case you may have problems).

en_visual_studio_community_2015_with_update_3_x86_x64_web_installer_8922963.exe

choose custom install

Programming Languages

Visual c++
tick Common tools for c++2015
tick Microsoft Foundation Classes for C++
tick Windows XP support for C++
untick Visual F#
untick Python Tools for Visual sudio
Windows and Web Development
tick Microsoft web developer tools
everything else unticked

Launch visual studio to let it intialize itself

run Windows update to see if it needs updates (mine didn’t but it is safer to check with Microsoft …)

Pick an install directoty. I used fritzing_dev in all the rest of this (I also use Cygwin to get a unix
environment on Windows but will try to keep to things that will work from a dos command window as well
although the / may need to change to \ if you are using a command prompt.

Install the fritzing-app and fritzing-parts repositories from github

fritzing-app:

either by downloading and unzipping it or using git to clone it (I used git under cygwin to clone it)

same for fritzing-parts from

cd fritzing_dev

and unzip or clone both repos here to have. Note I initially downloaded the parts zip file but discovered that it didn’t appear to have the .git directory and parts updating failed, so at least for the parts repository use git to clone it is the safer bet.

fritzing-app
fritzing-parts

in frtizing_dev

Now build the dependencies cmake Boost and libgit2

Install cmake from

https://cmake.org/download/

I used the prebuilt binary in

cmake-3.10.2-win64-x64.msi

run the installer

tick Add Cmake to system path for all users

install

I used cygwin to clone the repositories you can also use the dos git package if you like

$ git clone GitHub - fritzing/fritzing-app: Fritzing desktop application

$ git clone GitHub - fritzing/fritzing-parts: Electronic components for use in the Fritzing app (aka the parts library)

Download boost binaries for Windows from

I used boost_1_66_0.7z as the current lastest version

unzip it with 7zip

to get a

boost_1_66_0 directory then copy that directory to

fritzing-app/lib/src

so you have

fritzing-app/lib/src/boost_1_66_0

under cygwin:

Owner@Owner-PC /cygdrive/f/Fritzing_dev
$ cp -R boost_1_66_0 fritzing-app/src/lib

Owner@Owner-PC /cygdrive/f/Fritzing_dev
$ ls fritzing-app/src/lib
boost_1_66_0 qtsysteminfo quazip

Now on to libgit2

To match up with the linux version we want to build libssl2 and openssh

so download vcpkg (an application to build open source packages on Windows) from

git clone GitHub - microsoft/vcpkg: C++ Library Manager for Windows, Linux, and MacOS

Owner@Owner-PC /cygdrive/f/Fritzing_dev
$ ls
boost_1_66_0 boost_1_66_0.7z fritzing-app fritzing-parts vcpkg

this leaves you with a diretory vcpkg.

Now we need to switch to a Visual Studio 64 bit command prompt. To do so click

Start->all programs->Visual Studio 2015->Visual Studio Tools->Windows desktop command prompts->vs2015 x64 Native tools Command prompt

which will open a dos command window with the compiler set to 64 bits (as far as I know it sets the compilers to 32 bits even on a 64 bit machine as stupid as that seems)

In the command prompt change to your Fritzing_dev directory. For me

f:

cd Fritzing_dev\vcpkg

Directory of F:\Fritzing_dev\vcpkg

02/24/2018 04:38 PM .
02/24/2018 04:38 PM …
02/24/2018 04:38 PM .git
02/24/2018 04:38 PM 95 .gitattributes
02/24/2018 04:38 PM 5,323 .gitignore
02/24/2018 04:38 PM 0 .vcpkg-root
02/24/2018 04:38 PM 97 bootstrap-vcpkg.bat
02/24/2018 04:38 PM 80,344 CHANGELOG.md
02/24/2018 04:38 PM 2,432 CONTRIBUTING.md
02/24/2018 04:38 PM docs
02/24/2018 04:38 PM 1,107 LICENSE.txt
02/24/2018 04:38 PM ports
02/24/2018 04:38 PM 2,431 README.md
02/24/2018 04:38 PM scripts
02/24/2018 04:38 PM toolsrc
02/24/2018 04:38 PM triplets
8 File(s) 91,829 bytes
8 Dir(s) 53,169,041,408 bytes free

F:\Fritzing_dev\vcpkg>

bootstrap-vcpkg.bat

which produces:

F:\Fritzing_dev\vcpkg>bootstrap-vcpkg.bat
Downloading vswhere…
WARNING: Github has dropped support for TLS versions prior to 1.2, which is not
available on your system
WARNING: Please manually download
https://github.com/Microsoft/vswhere/releases/download/2.3.2/vswhere.exe to
F:\Fritzing_dev\vcpkg\downloads\vswhere-2.3.2\vswhere.exe
Download failed
At F:\Fritzing_dev\vcpkg\scripts\VcpkgPowershellUtils.ps1:133 char:18

  •         throw <<<<  "Download failed"
    
    • CategoryInfo : OperationStopped: (Download failed:String) , R
      untimeException
    • FullyQualifiedErrorId : Download failed

So from a webbrowser download

https://github.com/Microsoft/vswhere/releases/download/2.3.2/vswhere.exe

in to your Fritzing_dev directory

and in the command prompt

cd downloads

mkdir vswhere-2.3.2

copy …..\vswhere.exe vswhere-2.3.2

also download

https://github.com/git-for-windows/git/releases/download/v2.16.2.windows.1/MinGit-2.16.2-32-bit.zip

and copy that in to the downloads directory as well (because openssl will fail on it)

then run bootstrap-vcpkg.bat again and this time it works

and should end up as:


4>Done Building Project “F:\Fritzing_dev\vcpkg\toolsrc\vcpkgmetricsuploade
r\vcpkgmetricsuploader.vcxproj” (Build target(s)).
1>Done Building Project “F:\Fritzing_dev\vcpkg\toolsrc\dirs.proj” (default
targets).

Build succeeded.
0 Warning(s)
0 Error(s)

Time Elapsed 00:00:33.85

F:\Fritzing_dev\vcpkg>

Now we are ready to build openssl and libssh2 (libgit2 is here, but doesn’t work so we will build it manually
later)

again from the Visual Studio command prompt window:

F:\Fritzing_dev\vcpkg>vcpkg install --triplet x64-windows openssl
The following packages will be built and installed:
openssl[core]:x64-windows

Building package openssl[core]:x64-windows… done
Installing package openssl[core]:x64-windows…
Installing package openssl[core]:x64-windows… done
Elapsed time for package openssl:x64-windows: 7.976 min

Total elapsed time: 7.976 min

The package openssl is compatible with built-in CMake targets:

find_package(OpenSSL REQUIRED)
target_link_libraries(main PRIVATE OpenSSL::SSL OpenSSL::Crypto)

now do libssh2

F:\Fritzing_dev\vcpkg>vcpkg install --triplet x64-windows libssh2
The following packages will be built and installed:
libssh2[core]:x64-windows

  • zlib[core]:x64-windows

    – Performing post-build validation
    – Performing post-build validation done
    Building package libssh2[core]:x64-windows… done
    Installing package libssh2[core]:x64-windows…
    Installing package libssh2[core]:x64-windows… done
    Elapsed time for package libssh2:x64-windows: 55.37 s

Total elapsed time: 1.274 min

The package libssh2:x64-windows provides CMake targets:

find_package(libssh2 REQUIRED)
target_link_libraries(main PRIVATE Libssh2::libssh2)

F:\Fritzing_dev\vcpkg>

So now you have libssh2 and openssh in vcpkg\Installed. We wiil need to copy them to the libgit2 directory
later but now lets build libgit2 using these two libraries (unfortunatly not with vcpkg though as that doesn’t work).

with a web browser download from

libgit2 v0.26.0.zip (or the latest current version which is this one at present)

unzip it in to Fritzing_dev

To install it (from From instructions on http://blog.julienmialon.com/2017/01/)

Grab from

by hitting the raw button and copy / paste the file

FindLIBSSH2.cmake

and copy it in to

Fritzing_dev/libgit2-0.26.0/cmake/Modules

vi CMakeLists.txt

change

Optional external dependency: libssh2

IF (USE_SSH)
PKG_CHECK_MODULES(LIBSSH2 libssh2)
ENDIF()

to

Optional external dependency: libssh2

IF (USE_SSH)
FIND_PACKAGE(LIBSSH2)
ENDIF()

Now in the Visual Studio command window again

cd …/libgit2-0.26.0

set the path to the libssh2 and openssl libraries

set LIBSSH2_ROOT=f:/fritzing_dev/vcpkg/installed/x64-windows

(you may need to adjust the path above to what you use.) now to build the libary. In libgit2-0.26.0 (where you should be) from the Visual Studio command prompt:

mkdir build

cd build

cmake -G “Visual Studio 14 Win64” …

cmake --build .

This should build a libgit2 library using the vcpkg versions of libssh2 and openssl the -G “Visual Studio 14 Win64” makes it use the 64 bit compiler rather than the 32 (even on a 64 machine, totally braindead) The cmake -G “Visual Studio 14 Win64” … above should have output like this to indicate it found the libssh2 library successfully. If it does not check your FindLIBSSH2.cmake, CMakeLists.txt and set LIBSSH2_ROOT=f:/fritzing_dev/vcpkg/installed/x64-windows are correct.


– Could NOT find HTTP_Parser (missing: HTTP_PARSER_INCLUDE_DIR HTTP_PARSER_LIBR
ARY)
– http-parser version 2 was not found; using bundled 3rd-party sources.
– Could NOT find ZLIB (missing: ZLIB_LIBRARY ZLIB_INCLUDE_DIR)
– zlib was not found; using bundled 3rd-party sources.
– Found LIBSSH2: F:/Fritzing_dev/vcpkg/installed/x64-windows/lib/libssh2.lib
– Looking for libssh2_userauth_publickey_frommemory in F:/Fritzing_dev/vcpkg/in
stalled/x64-windows/lib/libssh2.lib
– Looking for libssh2_userauth_publickey_frommemory in F:/Fritzing_dev/vcpkg/in
stalled/x64-windows/lib/libssh2.lib - found

The cmake --build . step should end like this (the warnings are fine):

F:\Fritzing_dev\libgit2-0.26.0\tests\worktree\worktree.c(51): warning C4267:
‘=’: conversion from ‘size_t’ to ‘unsigned int’, possible loss of data [F:\Frit
zing_dev\libgit2-0.26.0\build\libgit2_clar.vcxproj]

255 Warning(s)
0 Error(s)

you now have the gitlib2 library in build. Now you need to create the libary that Fritzing will look for in
Fritzing_dev/libgit2 so for me back to cygwin to do the necessary copies.

so from Fritzing_dev

mkdir libgit2
mkdir libgit2/build64
cp libgit2-0.26.0/build/Debug/* libgit2/build64
cp -R libgit2-0.26.0/include libgit2

Now we need to copy the dlls from vcpkg in to libgit2 so Fritzing will find them

cp vcpkg/installed/x64-windows/bin/* libgit2/build64

Now all the prereqs are built and installed so now on to Qt.

You will need to create an account on the Qt web site and select the open source community version of Qt then

Download Qt file (for me that was)

qt-unified-windows-x86-3.0.2-online.exe

and run it.

select Qt 5.10.0

no longer appear to need to add anything more to the select as everything is already selected.

Unselect

MSVC 2013 64-bit
MinGw 5.3.0 32bit
UWP ARMV7 (MSVC 2015)
UWP ARMV7 (MSVC 2017)
Android x86
Android ARMV7
Sources

as you shouldn’t need any of them. Then set it to install (which takes a very long time, some 6 hours of
downloading on my adsl link!)

When that completes start Qtcreator (either from the start menu or from a shortcut on the desktop)

click on open project an navigate to your Fritzing_dev/fritzing-app directory and click on the file

phoenix.pro

(which is the Fritzing build file)

That brings up a Configure Project screen with (in my case) a choice of

(ticked) Desktop Qt5.10 MSVC2015 32bit

      Desktop Qt5.10 MSVC2015 64bit

(depending on your selections you may have more.

untick the Desktop Qt5.10 MSVC2015 32bit and

tick the Desktop Qt5.10 MSVC2015 64bit

so it is the only one selected and then click Configure Project

The general messages window should show:

Project MESSAGE: target arch: x86_64
Project MESSAGE: allways true on win32. leads to build problems
Project MESSAGE: found libgit2 include path at F:/Fritzing_dev/fritzing-app/…/libgit2/include
Project MESSAGE: found libgit2 library in F:/Fritzing_dev/fritzing-app/…/libgit2/build64
Project MESSAGE: libgit2
Project MESSAGE: using Boost from src/lib/boost_1_66_0
Project MESSAGE: libs -LF:/Fritzing_dev/fritzing-app/…/libgit2/build64 -lgit2
Project MESSAGE: target arch: x86_64
Project MESSAGE: allways true on win32. leads to build problems
Project MESSAGE: found libgit2 include path at F:/Fritzing_dev/fritzing-app/…/libgit2/include
Project MESSAGE: found libgit2 library in F:/Fritzing_dev/fritzing-app/…/libgit2/build64
Project MESSAGE: libgit2
Project MESSAGE: using Boost from src/lib/boost_1_66_0
Project MESSAGE: libs -LF:/Fritzing_dev/fritzing-app/…/libgit2/build64 -lgit2

Indicating it found the libgit2 and boost libraries as it should have.

Now click on projects on the left tool bar about the middle

Desktop Qt 5.10.0 MSVC2015 64 bit should be highlighted with
build
run

below it. Click on run

executable should be (in my case) F:\Fritzing_dev\debug64\Fritzing.exe
command line arguments (blank)
Working directory f:\Fritzing_dev\debug64

we need to modify the command line arguments field twice, once to rebuild the data base and then to the
normal run setting. So first set the database build setup so copy

-f “f:/fritzing_dev/fritzing-app/” -parts "f:/fritzing_dev/fritzing-parts/ " -db “f:/fritzing_dev/fritzing-parts/parts.db”

in to the command line arguments field (you will need to change the path to match your system!)

Now click the green run arrow on the bottom of the left tool bar (just below the phoenix Debug label, the lower
arrow will start the debugger which isn’t what we want right now)

If you click on the compiler output tab on the bottom of the screen you will see the compile starting. This
takes quite a while to complete. When it finishes (or before if you choose) click on the Applicaiton Output
tab. while the compile completes it will be blank. When the compile finishes you will get the console messages
from Fritzing as it trys to bulld the database. In my case that results in this error (which may or may not
occur for you):


“part path not in parts:F:/fritzing_dev/fritzing-parts/core/led-rgb-4pin-anode_rbg.fzp f:/fritzing_dev/fritzing-parts 1”
“part path not in parts:F:/fritzing_dev/fritzing-parts/core/sparkfun-discretesemi-mosfet-nchannel-pth.fzp f:/fritzing_dev/fritzing-parts 1”
“referenceModel::loadAll completed”
F:/Fritzing_dev/debug64/Fritzing.exe exited with code 0

This is caused by this:

parts:F:/fritzing_dev/… not matching this f:/fritzing_dev/ (Note the first f is upper case and the second
is lower case). This is a Windows oddity, to Windows both paths are identical to Qt they aren’t and the
mismatch breaks the parts database creation. The fix is fairly easy but I don’t yet know how to get it on to
a repro in github that you could download so for now we will patch the local source.

From cygwin in directory Fritzing_dev/frtizing_app

vi src/referencemodel/sqlitereferencemodel.cpp

at line 915 change

else if (path.startsWith(prefix))

to

#ifdef Q_OS_WIN

else if (path.startsWith(prefix, Qt::CaseInsensitive)) {

#else
else if (path.startsWith(prefix)) {

#endif

You should end up with something that looks like this:

#ifdef Q_OS_WIN
else if (path.startsWith(prefix, Qt::CaseInsensitive)) {
#else
else if (path.startsWith(prefix)) {
#endif
path = path.mid(prefix.count() + 1); // + 1 to remove the beginning “/”

while we are here, lets change the Fritzing user directories so that the dev version of Fritzing will co exist
with the production version of Fritzing (by having the dev user files in Fritzing_dev). To do that

vi src/utils/folderutils.cpp

and at line 144 and 151 add a _dev to each Fritzing:

line 144:

QString path = QSettings(QSettings::IniFormat,QSettings::UserScope,"Fritzing","Fritzing").fileName();

to

QString path = QSettings(QSettings::IniFormat,QSettings::UserScope,"Fritzing_dev","Fritzing_dev").fileName();

line 151 from

return dir.absoluteFilePath("Fritzing");

to

return dir.absoluteFilePath("Fritzing_dev");

Then save the file and rerun Qtcreator.

Now I still get a different error but it appears to have built the database and Fritzing runs:

“part path not in parts:C:/Users/Owner/AppData/Roaming/Fritzing_dev/partfactory/69478abbb113421c89cbdd5cd12c736a/core/4001_4_x_2_input_NOR_gate_multipart_subpart4.fzp f:/fritzing_dev/fritzing-parts 1”
“referenceModel::loadAll completed”
F:/Fritzing_dev/debug64/Fritzing.exe exited with code 0

So now click on Projects->run again and delete the

-db “f:/fritzing_dev/fritzing-parts/parts.db”

leaving

-f “f:/fritzing_dev/fritzing-app/” -parts "f:/fritzing_dev/fritzing-parts/ "

in the command line arguments field.

Now when you click the run arrow Fritzing should start normally. Now you have the development version of Fritzing up and running (we hope anyway). From now on you should be able to just replace the fritzing-app repository with a new one and rebuild the app with Qt creator to test new fixes. You can also follow the release procedure in the dev wiki to make a standalone install (although I don’t think there is enough change to make that worthwhile right now). I have fixes for a number of file related problems that I will try and figure out how to get on to github so you can try them out.

Peter

2 Likes

…fixes that have been generated since 0.9.3b was released. I don’t think there is enough new yet to make a new release any time soon…

I think that a 0.9.3c “bugfix release” can be very useful for a lot of people… “electronics and informatics made easy”, please… :wink:

At present development is mostly at a standstill, I’m trying to correct that. There are very few changes since the last release so far, I’m trying to change that too, but it is going to be slow. Before a release is likely any changes made are going to need widespread testing. That means the user community is going to have to be willing to build the dev release from source to test the changes to demonstrate that the fixes actually work. There is no mechanism that I am aware of to build and distribute a release for testing at this point (I’d be happy to be proved wrong though). I think the user community is likely going to need to step up, and thus this post about how to do that. If we want progress we have to be willing to devote the time to producing it.

Peter

@vanepp

Maybe something like what Arduino does, they setup servers to push hourly builds for Mac, Win and Linux from the latest github repository. You could even push the builds to github. That would require Fritzing to host the server and set it up but doable.

Unfortunatly while I’m trying to jump start development, I’m just an interested user, I don’t have control of the distribution or access to the official repository (only my fork on github). If it was me I wouldn’t go to the effort of making a new release at this time because there isn’t very much change yet. For a while (perhaps a long while) it is going to be if you are willing to help test you need to build from source to make a test version. Having sort of got windows running I’m now trying to figure out how to get the 4 or 5 fixes I have in to my github fork of the application and compiled on Windows (I develop in linux) in order to test it and see if I have actually broken things instead of fixed them.

Peter

Nothing about a release of a 0.9.3c bugfix release? with small bug fix, translation update, new parts from forum etc?
About italian translation I report this update.:wink:

Not so far. I’m working on getting a build environment working (and as far as I know I’m the only one doing so) but it is going slowly and not terribly successfully. At present I’m working on getting a number of parts in core changed to remove tspans because they are causing the latest version of Qt to assert and crash Fritzing. Last I checked (in the summer) the Qt Windows 32 environment install wasn’t working (and is required for a release …). I don’t know if we will be able to release head, I doubt it, the comment some time ago was something like “if there is a well tested version”. The problem with that is you have to build from source to test a version and that is hard. I would settle for a fix on 0.9.3b that updates the libgit2 version to work again and that’s what I’m working towards. A way to just replace the libgit2.dll file without updating the main binary would be even better but I haven’t been able to make that work either. In addition I would have to find someone with a Mac (or buy one) to build and test the Mac version to do a full release. The likely solution is going to be a version for only Windows 64 and 32 that fixes the libgit2 issue and after that we will see, but I wouldn’t hold my breath for any of this as it is going slowly.

Peter

sorry but I can’t help you on compiling because I never compiled nothing (apart translations on linux machine). :frowning:
I think it can be acceptable a release only on win64 and linux64, skipping win32 and mac, if this is problematic. :slight_smile:

I suspect the Fritzing folks won’t see it that way, but we will see when and if the time comes …

Peter

Ok, but better something than nothing! :slight_smile:
(really a x86/32 bit version for win is still a must-have?)

I expect so, because it is a supported configuration still, and a fix that doesn’t include Win 32 isn’t really a fix. No one has said that but no one else except me is commenting on this at all. It is flagged on github as a critical bug since I reported it in September, but no fix yet and no indication anyone but me is working on one.

Peter

After 2 evenings trying to set things up, i’ve done it! I’ve been able to build 0.9.4 on my Windows 10 machine :smiley: :rofl:

Some steps have changed so i’ll make some notes and post them here

1 Like

Updated build steps derived from the ones provided by @vanepp

Download and install MSVS 2015
If you have MSVS 2017 it might not work, so I uninstalled it. It’s unclear to me how it does with 2019
https://visualstudio.microsoft.com/vs/older-downloads/

Download and install QT using the installer
https://www.qt.io/download-qt-installer
You’ll need to create an account to be able to download.
During the installation process you will be asked which version and components need to be installed.
I believe the latest official build was created using QT 5.12 so I downloaded the latest stable version which is 5.12.7
Under the version select:
MSVC 2015 64-BIT
All components starting with QT
Under Developers and designer tools
QT Creator (4.11.1 CBD Debugger support
Debugging tools for windows
Mingw 7.3.0 64-BIT (not sure if you really need this)
CMake 3.16.0 64BIT
Complete the installation process

	Any missed components can be added later by going to windows 'Add/Remove programs'. Search for the QT program and click 'Modify'. 
	This will allow you to add or remove components if required. (for me this was far from clear)

Download and install GIT if you haven’t done that (shame on you) https://git-scm.com/downloads

Create a fritizng application folder for example C:\sources\ where we will place all programs, dependencies en sources.

Install VCPKG. this is a package manager which w’ll use to download and build/install 2 libraries which are required to build libgit2, which is required to build Fritzing.
Download and install VCPKG into fritzing application folder as following:
Open ‘VS2015 x64 Native Tools Command prompt’ via Windows Start Menu. DO NOT USE NORMAL CMD.
cd to fritzing application folder
cd C:\sources
clone the vcpkg repositry
git clone https://github.com/Microsoft/vcpkg
Run the bootstrapper in the root folder (of the repository):
bootstrap-vcpkg.bat (Windows)
This will install vcpkg

Build and install openssl using VCPKG
Open VS2015 x64 Native Tools Command prompt. DO NOT USE NORMAL CMD prompt.
cd to vcpkg folder
run:
vcpkg install --triplet x64-windows openssl

Build and install libssh2 using VCPKG
Open VS2015 x64 Native Tools Command prompt. DO NOT USE NORMAL CMD prompt.
cd to vcpkg folder
run:
vcpkg install --triplet x64-windows libssh2

You will now have OpenSSL and LibSSH2 available in your C:\sources\VCPKG\installed folder
We’ll need to add an environment variable to refer to the libssh and openssl libraries so that it can be used to build libgit2

set LIBSSH2_ROOT=C:\sources\vcpkg\installed\x64-windows

Build and install libgit2 using cmake
In browser go to:
https://github.com/libgit2/libgit2/releases
Download the source code for the latest release version (zip or tar archive)
Unzip into the application folder; ie.
C:\sources\libgit2-0.28.4>

open the file CMakelist.txt with your favorite text editor (notepad++)
After the option definitations add the following line: 
	find_package(LIBSSH2)
In libgit2-0.28.4 directory create a new directory called 'build':
	mkdir build
change directory to 'build' directory
	cd build	
run	to build from build directory
	cmake -G “Visual Studio 14 Win64” ..
When it's done, you should see the following enabled features. It might complain about http-parser, ignore that.
-- Enabled features:
 * threadsafe, threadsafe support
 * HTTPS, using WinHTTP
 * SHA, using CollisionDetection
 * http-parser, http-parser support (bundled)
 * zlib, using system zlib
 * SSH, SSH transport support

Fritzing will search this library in a sibling folder. (one level higher). We will move the required files to this folder
create a directory called C:\sources\libgit2
create a direcotory called C:\sources\libgit2\build64
create a direcotory called C:\sources\libgit2\build64\Release
copy all files from the C:\sources\libgit2-0.26.0\build\Debug folder into the previously created ‘Release’ folder.
Copy the complete C:\sources\libgit2-0.28.4\include folder (including the include folder) into ‘C:\sources\libgit2’.
This should result in ‘C:\sources\libgit2\include’ having some files and folders.

We'll also need to manually copy the openSsl and LibSSH2 libraries to the newly create libgit2 folder.
copy all the files from C:\sources\vcpkg\installed\x64-windows\bin\* into the C:\sources\libgit2\build64 folder. 

We now should have all pre-requisites available to starts with actual work with Fritizng.

Download FRITZING_APP source code in to fritzing application folder
cd C:\sources
git clone https://github.com/fritzing/fritzing-app.git

Download FRITZING_PARTS repositry in to fritzing application folder
cd C:\sources
git clone https://github.com/fritzing/fritzing-parts.git

Download Boost, unzip it into C:\sources\fritzing-app\lib folder
https://sourceforge.net/projects/boost/files/boost-binaries/

Start QT Creator
Open File or project; go to your Fritzing-App folder and open the project file called ‘phoenix.pro’
Configure it to use QT 5.12.7 MSVC2015 64BIT
Once the configuration is accepted, it will analyse the project
In the bottom console called ‘General Messages’ you should see something like the following:

Project MESSAGE: target arch: x86_64
Project MESSAGE: found libgit2 include path at C:/sources/fritzing-app/../libgit2/include
Project MESSAGE: found libgit2 library in C:/sources/fritzing-app/../libgit2/build64/Release
Project MESSAGE: 
Project MESSAGE: using boost_1_72_0
Project MESSAGE: libs -LC:/sources/fritzing-app/../libgit2/build64/Release -lgit2
Project MESSAGE: target arch: x86_64
Project MESSAGE: found libgit2 include path at C:/sources/fritzing-app/../libgit2/include
Project MESSAGE: found libgit2 library in C:/sources/fritzing-app/../libgit2/build64/Release
Project MESSAGE: 
Project MESSAGE: using boost_1_72_0
Project MESSAGE: libs -LC:/sources/fritzing-app/../libgit2/build64/Release -lgit2

If you see a different target architecture, then you didn’t configure the project properly.
I initially used MINGW 64Bit and it gave me all kinds of errors and didn’t identify my system as 64bit. So I had to uninstall MINGW via the QT Modify option (see above) and install the MSVC2015 stuff.

Now you should be able to hit Run and the application should compile / run.

One more note;

I checked out the last released build instead of Master or Develop.

and then copy the commit hash a1ffcea08814801903b1a9515b18cf97067968ae
and run

git checkout a1ffcea08814801903b1a9515b18cf97067968ae

I haven’t had a look if this hash is also the latest one in the master branch but i have a feeling it isntt

I have decided to try and follow the steps to build it too because why not
To download and use the qt installer it has a loginwall, has anyone found a workaround to it?
This seems quite small and silly, and indeed it is, but I really see no reason to create an account because I literally only want it to build fritzing and not any of the features it offers