kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #37184
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