← Back to team overview

kicad-developers team mailing list archive

Re: Using Visual Studio 2017 CE for KiCad development

 

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
> 


Follow ups

References