digitalmars.D.ide - [VisualD] Fully rebuilding a project after a smallest change in one
- Rogi (32/32) Jan 19 2018 Hi,
- Rainer Schuetze (3/40) Jan 20 2018 I can reproduce it. According to the build log the build task thinks
- Rogi (6/11) Jan 22 2018 Thanks for answering!
- Rainer Schuetze (6/19) Jan 22 2018 Please do. I had a quick look, but didn't yet had time to drill deeper,
- Rogi (9/30) Jan 23 2018 Exactly.
Hi, When using VisualD in 'Visual C/C++ integration mode' my project rebuilds everything every time I make the smallest change in one file. In the simplest case: // file 'foo.d' module foo; class Foo { void FooFunc() { } } //file 'main.d' import foo; int main() { auto f = new Foo(); f.FooFunc(); return 0; } Both files are added to a simplest Visual C/C++ project (vcxproj) and compiling with DMD. The project is setup to compile 'One object file per source file' (far from optimal but necessary in my use case). If I modify only main.d, both foo.d and main.d will be recompiled. Expected behaviour would be: only main.d is recompiled (since foo.d does not depend on main.d). I'm using VS2015 + VisualD 0.45.1. Is this a known problem or I have some kind of problem in my setup? Thanks!
Jan 19 2018
On 19.01.2018 16:04, Rogi wrote:Hi, When using VisualD in 'Visual C/C++ integration mode' my project rebuilds everything every time I make the smallest change in one file. In the simplest case: // file 'foo.d' module foo; class Foo { void FooFunc() { } } //file 'main.d' import foo; int main() { auto f = new Foo(); f.FooFunc(); return 0; } Both files are added to a simplest Visual C/C++ project (vcxproj) and compiling with DMD. The project is setup to compile 'One object file per source file' (far from optimal but necessary in my use case). If I modify only main.d, both foo.d and main.d will be recompiled. Expected behaviour would be: only main.d is recompiled (since foo.d does not depend on main.d). I'm using VS2015 + VisualD 0.45.1. Is this a known problem or I have some kind of problem in my setup? Thanks!I can reproduce it. According to the build log the build task thinks that the command line as changed. Will have to investigate more...
Jan 20 2018
On Saturday, 20 January 2018 at 21:53:39 UTC, Rainer Schuetze wrote:On 19.01.2018 16:04, Rogi wrote:Thanks for answering! You gave me a hint where to start looking and I can propose you a patch which fixes the issue. I can prepare a pull request for it if you are interested.[...]I can reproduce it. According to the build log the build task thinks that the command line as changed. Will have to investigate more...
Jan 22 2018
On 22.01.2018 18:39, Rogi wrote:On Saturday, 20 January 2018 at 21:53:39 UTC, Rainer Schuetze wrote:Please do. I had a quick look, but didn't yet had time to drill deeper, so a patch is very welcome. My guess is that there is some format mismatch in GenerateCommandLineCommands: https://github.com/dlang/visuald/blob/master/msbuild/dbuild/CompileD.cs#L391On 19.01.2018 16:04, Rogi wrote:Thanks for answering! You gave me a hint where to start looking and I can propose you a patch which fixes the issue. I can prepare a pull request for it if you are interested.[...]I can reproduce it. According to the build log the build task thinks that the command line as changed. Will have to investigate more...
Jan 22 2018
On Tuesday, 23 January 2018 at 07:00:40 UTC, Rainer Schuetze wrote:On 22.01.2018 18:39, Rogi wrote:Exactly. Actually GenerateCommandLineCommands is not even called by the code which generates the list of sources out-of-date because of command line change, so it compares the previous command line with 'nothing'! I submitted a pull request: https://github.com/dlang/visuald/pull/86On Saturday, 20 January 2018 at 21:53:39 UTC, Rainer Schuetze wrote:Please do. I had a quick look, but didn't yet had time to drill deeper, so a patch is very welcome. My guess is that there is some format mismatch in GenerateCommandLineCommands: https://github.com/dlang/visuald/blob/master/msbuild/dbuild/CompileD.cs#L391On 19.01.2018 16:04, Rogi wrote:Thanks for answering! You gave me a hint where to start looking and I can propose you a patch which fixes the issue. I can prepare a pull request for it if you are interested.[...]I can reproduce it. According to the build log the build task thinks that the command line as changed. Will have to investigate more...
Jan 23 2018