← Back to team overview

kicad-developers team mailing list archive

Re: Using Visual Studio 2017 CE for KiCad development

 

Because these settings have to be tweaked manually for each dev I don't
think
committing them in root makes sense.

We could just add example and some docs in Documentation/development/ide

On Tue, Aug 21, 2018 at 11:52 AM Nick Østergaard <oe.nick@xxxxxxxxx> wrote:

> Alternatively, we could provide them in a dedicated repository on the
> kicad org on github. Then they are decoupled from the normal source
> and the wild west for IDE confs are self contained. This is just a
> suggestion if you think this would be useful.
> Den tir. 21. aug. 2018 kl. 19.49 skrev Wayne Stambaugh <
> stambaughw@xxxxxxxxx>:
> >
> > If we consider adding this, we open ourselves up to including
> > configuration files for every IDE not just VS so it's a Pandora's box.
> > If we do decide to allow this, please do not put it in the source root
> > path.  Personally, I'm not a big fan but as long as it doesn't get in my
> > way then I'm not completely opposed to it.
> >
> > Cheers,
> >
> > Wayne
> >
> > On 8/19/2018 9:17 AM, Mark Roszko wrote:
> > > Nice. I tried using the VS Cmake support a long time ago when it was
> > > initially released but still buggy. Great you got it fully working!
> > > Honestly as nice as CLion can be, VS completely blows it away.
> > >
> > > Personally I would consider using a build and install root of
> > >
> > >
> > >       "buildRoot": "${workspaceRoot}\\build\\${name}",
> > >       "installRoot": "${workspaceRoot}\\install\\${name}",
> > >
> > > so it doesn't get buried in your user root and you end up wondering,
> > > months later, where all your disk space went.
> > >
> > > This should be considered for commiting into the source tree. It
> doesn't
> > > alter the source and still builds under msys.
> > >
> > >
> > > On Sun, Aug 19, 2018 at 6:05 AM Andrew Lutsenko <anlutsenko@xxxxxxxxx
> > > <mailto:anlutsenko@xxxxxxxxx>> wrote:
> > >
> > >     Hi all,
> > >
> > >     I've managed to get KiCad code base to build in VS 2017 and more
> > >     importantly be parsed
> > >     by intellisense. Thought I'd share the config for other windows
> devs.
> > >
> > >     I've been using Atom so far with relative success but it's not
> > >     great. Decided to try if KiCad can
> > >     be worked on in real IDE with contextual autocomplete that works.
> > >
> > >     MS has been investing in building support in Visual Studio for non
> > >     ms build systems. GCC,
> > >     clang, cmake, non x86 targets, all of this has been coming along in
> > >     recent releases.
> > >     Not everything works like in ms build projects, but it's still
> miles
> > >     ahead of generic text editors.
> > >
> > >     Prerequisite: have msys2 windows environment with working KiCad
> build.
> > >
> > >     Get VS 15.8.0 or later. I've tested this on 15.8.1 community
> edition
> > >     preview. (It's free).
> > >
> > >     Install additional components:
> > >     Linux development with C++
> > >     Visual C++ tools for CMake and Linux
> > >
> > >     Then open VS and go to File -> Open... -> CMake...
> > >     select CMakeLists.txt in KiCad src root.
> > >
> > >     Next go to CMake -> Change CMake Settings -> CMakeLists.txt
> > >     In popup window choose Mingw64 Release (or Debug)
> > >     A file named CMakeSettings.json will be created and you have to
> > >     tweak a few things.
> > >     I've attached my CMakeSettings.json for reference but the important
> > >     bits are:
> > >
> > >     configurations.environments.MINGW64_ROOT - this is path to your
> > >     mingw64 folder
> > >     configurations.environments.FLAVOR - mingw flavor, I use
> > >     x86_64-w64-mingw32
> > >     configurations.environments.TOOLSET_VERSION should be autodetected,
> > >     if not check
> > >         mingw64\lib\gcc\x86_64-w64-mingw32 folder for version. It's
> > >     7.3.0 for me
> > >     configurations.environments.INCLUDE -
> > >     add ${env.MINGW64_ROOT}\\include to the list
> > >     configurations.generator - I set it to "MSYS Makefiles" and VS
> > >     frowns on it but it works.
> > >         Maybe "Unix Makefiles" work too, I didn't check.
> > >     configurations.cmakeCommandArgs - this is the tricky one that I had
> > >     to do trial and error
> > >        dance with a lot and also read cmake find rules that don't
> always
> > >     work. I found this
> > >        combination to do the job:
> > >        "-DCMAKE_PREFIX_PATH=${env.MINGW64_ROOT} -DMINGW:STRING=TRUE
> > >         -DMSYS:STRING=TRUE -DCYGWIN:STRING=TRUE
> > >         -DOPENGL_INCLUDE_DIR=${env.MINGW64_ROOT}\\include",
> > >     configurations.buildCommandArgs - remove the "-v" that VS puts
> > >     there, it just prints version
> > >         for make. I put "-j6" instead to speed up the build.
> > >     configurations.intelliSenseMode - VS should auto fill this to
> > >     "linux-gcc-x64"
> > >
> > >     Remaining configs can be left default, or you can tweak them to
> your
> > >     taste.
> > >
> > >     After you save the CMakeSettings.json VS will automatically
> > >     regenerate CMake cache.
> > >     Go to CMake menu and you can build all targets or specific ones
> from
> > >     there.
> > >     In my case intellisense only picked up cache after I did full
> build,
> > >     so maybe it is required
> > >     to do at least once.
> > >
> > >     But result is so worth it:
> > >
> > >     intellisense.png
> > >
> > >     Hope this helps!
> > >
> > >     Regards,
> > >     Andrew
> > >     _______________________________________________
> > >     Mailing list: https://launchpad.net/~kicad-developers
> > >     Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> > >     <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > >     Unsubscribe : https://launchpad.net/~kicad-developers
> > >     More help   : https://help.launchpad.net/ListHelp
> > >
> > >
> > >
> > > --
> > > Mark
> > >
> > > _______________________________________________
> > > Mailing list: https://launchpad.net/~kicad-developers
> > > Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> > > Unsubscribe : https://launchpad.net/~kicad-developers
> > > More help   : https://help.launchpad.net/ListHelp
> > >
> >
> > _______________________________________________
> > Mailing list: https://launchpad.net/~kicad-developers
> > Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> > Unsubscribe : https://launchpad.net/~kicad-developers
> > More help   : https://help.launchpad.net/ListHelp
>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
>

Follow ups

References