Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
User name:
Password:
Save Password
Forgot your password?

 All Forums
 Visual Assist
 Feature Requests
 QOL: Changing Settings
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

Yorlik
New Member

Germany
4 Posts

Posted - Jun 22 2019 :  7:02:01 PM  Show Profile  Reply with Quote
1. I just tried to adjust some visual settings (highlighting and stuff).
Having to reopen again and again the settings window just to play with the settings was a royal pain in the assets tbh.
Therefore I want to demand an "Apply" Button in the settings and the window to stay open to avoid that clickfest.

2. Cmake open Folder Project:
Please support autodetection of target includes from the CMakeLists.
CMake open Folder Projects become more and more common, especially in the cross development world.
I know there is a workaround using CppProperties.json, but that's not what I'd call productivity.

Generally I like VA, but some things totally need ironing and polishing.

Cheers



~Chris

Edited by - Yorlik on Jun 22 2019 7:02:48 PM

feline
Whole Tomato Software

United Kingdom
18749 Posts

Posted - Jun 24 2019 :  12:53:35 PM  Show Profile  Reply with Quote
This might be a silly question, but if you have a CMakeLists file, why don't you use this to generate a visual studio solution file? I thought that CMake was designed to create makefiles, for compiling under Linux, and it certainly has the ability to make a Visual Studio solution file as well. So, given this, why not use it?

Or am I wrong, and the Linux build chain and editors are all working directly off the CMakeLists file themselves?

As a test, I have downloaded the CMake source code from github:

https://github.com/Microsoft/CMake

and when I open this as a folder, in Visual Studio 2019, the IDE now spends quite a lot of time running CMake its self.

I am just trying to better understand what you are doing here, and how you are working.

zen is the art of being at one with the two'ness
Go to Top of Page

Yorlik
New Member

Germany
4 Posts

Posted - Jun 24 2019 :  6:46:48 PM  Show Profile  Reply with Quote
We are compiling on Windows and Linux and are using Ninja, because it' fast and works on both OSes.
Also we are using clang, cl and gcc - the gist is, that we try to stay out of any IDE or OS specifics if we can help it.
We do our CI with Jenkins on Linux - so that's not exactly VS either.
However - VS is an excellent IDE, and I personally like it, so I use it.
We use a CMake superbuild, which also builds our dependencies which have very varying build systems, like Boost and others.
CMake is the glue which keeps it all together for us.
Also for our own code we use modern CMake style (post 3.xyz..).
Bottomline is - I try to stay as close as possible to how our CI and overall systems work and that is not VS projects but Ninja.

~Chris

Edited by - Yorlik on Jun 24 2019 6:50:12 PM
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18749 Posts

Posted - Jun 25 2019 :  09:28:50 AM  Show Profile  Reply with Quote
I don't know what most of these things are. So I am probably going to ask a load of "silly" questions, since I am trying to get an understanding of things.

Since you are building on Windows, are you triggering the build from within the IDE? Or is the IDE "just" there for editing code files, and is otherwise independent of your build chain? I am trying to work out how much interaction you have with the IDE.

I don't know the meaning of "modern CMake style", I have used CMake just enough to know that it can and will produce Visual Studio solution and project files if you ask it to. I assume this is still true for the modern style.

So, if you only want to use the IDE as an editor, assuming the list of code files you are working with is fairly stable, why not just ask CMake to produce a visual studio project, simply to use for editing? It will be a separate output from CMake, so won't have any impact on your build methods, and it will give the IDE, and VA, the information they need to locate the additional include directories you want.

Otherwise, if I understand correctly, we would have to start parsing and understanding the CMake input file "CMakeLists", at which point we are effectively asking CMake to generate the SLN ourselves, since doing anything else requires us replicating a chunk of CMake without actually using CMake, which seems silly.

zen is the art of being at one with the two'ness
Go to Top of Page

Yorlik
New Member

Germany
4 Posts

Posted - Jun 26 2019 :  03:47:29 AM  Show Profile  Reply with Quote
We are using the CMake integration by MS which is using CMake to do all the building.
We are entirely detached from the default build system and using cl and the ms tools directly through Ninja.
CMake creates our Ninja files, just like it would create a VC solution.
Building is then done by Ninja calling all the compilers and tools.
But the calls to CMake for creating the Ninja files and running Ninja are done by the CMake integration.
So - yes - the VS IDe is used for editing, static analysis, intellisense and all the goodies,
but building is detached from it and the only link is the CMake integration, so we don't have to run CMake manually.
We can even use it to run builds remotely on Linux, or Clang or MinGW from there.

~Chris

Edited by - Yorlik on Jun 26 2019 03:48:46 AM
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18749 Posts

Posted - Jun 26 2019 :  11:20:44 AM  Show Profile  Reply with Quote
This makes more sense. After some reading up on what VS2019 its self is doing in this situation, I can see how this would be rather helpful. I have put in a feature request for this, to see what our developers make of this idea:

case=140829

For now though, the work around is to use the "CppProperties.json" file. So long as your include directories are fairly stable, this should be a set and forget about it file. Not ideal, I agree, but it is something.

zen is the art of being at one with the two'ness
Go to Top of Page

Yorlik
New Member

Germany
4 Posts

Posted - Jun 26 2019 :  1:21:11 PM  Show Profile  Reply with Quote
:)

~Chris
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000