The main PCH fix thing that needs done is in this one; just adding the object directory to the Contrib Projects will allow the Contrib use PCH.
Do the Contrib Plugins under Windows really use a PCH version of sdk.h?
I apply the git patch, and I see that building
Games plugin now from 22 seconds(before patch) to 7 seconds(after patch). Nice result.
I also see that when building
FileManager Plugin, there is no time reducing before and after the patch, I'm not sure why.
I haven't tested other plugin yet, but I see it does improve the build performance.
Edit2: Attach Git Patch to add the obj search to cbp and a single sdk_precomp.h to sdk.h fix.
I think we should always use sdk.h, not sdk_precomp.h when building non-sdk target.
Q1: what is better?
or
?
Q2: When I build CodeCompletion plugin, I see such command
[ 6.3%] g++.exe -Wall -g -pipe -mthreads -fmessage-length=0 -fexceptions -Winvalid-pch -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DCB_PRECOMP -DWX_PRECOMP -DwxUSE_UNICODE -DBUILDING_PLUGIN -iquote.objs\include -I.objs\include -I. -IE:\code\wx-mingw-build-481-dw2\wxWidgets-2.8.12\include -IE:\code\wx-mingw-build-481-dw2\wxWidgets-2.8.12\lib\gcc_dll\mswu -Isdk\wxscintilla\include -Isdk\wxpropgrid\include -Iinclude\tinyxml -Iinclude -Iinclude\mozilla_chardet -Iinclude\mozilla_chardet\mfbt -Iinclude\mozilla_chardet\nsprpub\pr\include -Iinclude\mozilla_chardet\xpcom -Iinclude\mozilla_chardet\xpcom\base -Iinclude\mozilla_chardet\xpcom\glue -c plugins\codecompletion\ccoptionsdlg.cpp -o .objs\plugins\codecompletion\ccoptionsdlg.o
Note, there is:
-iquote.objs\includeBut I see the command when build
FileManager Plugin[ 14.3%] g++.exe -Wall -pipe -mthreads -fmessage-length=0 -fexceptions -Winvalid-pch -DWXUSINGDLL -DHAVE_W32API_H -D__WXMSW__ -DcbDEBUG -DCB_PRECOMP -DWX_PRECOMP -DwxUSE_UNICODE -DBUILDING_PLUGIN -g -I..\..\..\.objs\include -I..\..\..\include -I..\..\..\sdk\wxscintilla\include -I..\..\..\include\mozilla_chardet -I..\..\..\include\mozilla_chardet\mfbt -I..\..\..\include\mozilla_chardet\nsprpub\pr\include -I..\..\..\include\mozilla_chardet\xpcom -I..\..\..\include\mozilla_chardet\xpcom\base -I..\..\..\include\mozilla_chardet\xpcom\glue -IE:\code\wx-mingw-build-481-dw2\wxWidgets-2.8.12\include -IE:\code\wx-mingw-build-481-dw2\wxWidgets-2.8.12\lib\gcc_dll\mswu -c directorymonitor.cpp -o ..\..\..\.objs\plugins\contrib\FileManager\directorymonitor.o
Why there is no -iquote?
Q3: what does the below statement mean? I don't see the change in wxContrib from your git patch.
The wxContrib changes the build objects NOT the PCH; but, it really speeds it up.