Author Topic: Patch to add an local PCH file to the Windows wx28 Project  (Read 7380 times)

Offline stahta01

  • Lives here!
  • ****
  • Posts: 6661
    • My Best Post
Patch to add an local PCH file to the Windows wx28 Project
« on: November 10, 2013, 03:45:02 am »
I have spent today working on a patch to add a Precompiled Header to the wxSmith Windows project.

Here is the precompiled file.
Code: [Select]
// wxSmith CB Project Precompiled Header

#ifndef PRECOMP_H_INCLUDED
#define PRECOMP_H_INCLUDED

#ifndef NOPCH

// Standard C++ Compiler Headers
#include <map>                  // needed by cbstyledtextctrl.h
#include <set>                  // needed by cbstyledtextctrl.h
#include <sstream>
#include <stdarg.h>
#include <stdlib.h>             // needed by sqplus.h

// Standard C++ version of C Compiler Headers
#include <clocale>

// Non-Standard C++ Compiler Headers

// Standard C Compiler Headers

// Non-Standard C Compiler Headers

// wxWidgets headers
#include <wx/defs.h>            // Special wx Header Please keep at top
// Rest of wx Header in A-Z Order
#include <wx/app.h>
#include <wx/arrstr.h>
#include <wx/artprov.h>
#include <wx/bitmap.h>
#include <wx/bmpbuttn.h>
#include <wx/bmpcbox.h>
#include <wx/button.h>
#include <wx/calctrl.h>
#include <wx/checkbox.h>
#include <wx/checklst.h>
#include <wx/choicdlg.h>
#include <wx/choice.h>
#include <wx/choicebk.h>
#include <wx/clipbrd.h>
#include <wx/clrpicker.h>
#include <wx/colordlg.h>
#include <wx/combobox.h>
#include <wx/control.h>
#include <wx/cshelp.h>
#include <wx/datectrl.h>
#include <wx/dc.h>
#include <wx/dcbuffer.h>
#include <wx/dcclient.h>
#include <wx/dcmemory.h>
#include <wx/dcscreen.h>
#include <wx/dialog.h>
#include <wx/dialup.h>
#include <wx/dirctrl.h>
#include <wx/dirdlg.h>
#include <wx/dnd.h>
#include <wx/fdrepdlg.h>
#include <wx/file.h>
#include <wx/filedlg.h>
#include <wx/filefn.h>
#include <wx/filename.h>
#include <wx/filepicker.h>
#include <wx/font.h>
#include <wx/fontdlg.h>
#include <wx/fontenum.h>
#include <wx/fontmap.h>
#include <wx/fontpicker.h>
#include <wx/frame.h>
#include <wx/gauge.h>
#include <wx/glcanvas.h>
#include <wx/grid.h>
#include <wx/hashmap.h>
#include <wx/hashset.h>
#include <wx/html/htmlwin.h>
#include <wx/html/htmprint.h>
#include <wx/htmllbox.h>
#include <wx/html/htmlwin.h>
#include <wx/hyperlink.h>
#include <wx/image.h>
#include <wx/imaglist.h>
#include <wx/intl.h>
#include <wx/laywin.h>
#include <wx/listbook.h>
#include <wx/listbox.h>
#include <wx/listctrl.h>
#include <wx/longlong.h>        // needed by cbstyledtextctrl.h
#include <wx/menu.h>
#include <wx/msgdlg.h>
#include <wx/notebook.h>
#include <wx/odcombo.h>
#include <wx/panel.h>
#include <wx/printdlg.h>
#include <wx/progdlg.h>
#include <wx/radiobox.h>
#include <wx/radiobut.h>
#include <wx/sashwin.h>
#include <wx/scrolbar.h>
#include <wx/scrolwin.h>
#include <wx/settings.h>
#include <wx/sizer.h>
#include <wx/slider.h>
#include <wx/snglinst.h>
#include <wx/spinbutt.h>
#include <wx/spinctrl.h>
#include <wx/splitter.h>
#include <wx/sstream.h>
#include <wx/statbmp.h>
#include <wx/statbox.h>
#include <wx/statline.h>
#include <wx/stattext.h>
#include <wx/statusbr.h>
#include <wx/stopwatch.h>
#include <wx/string.h>
#include <wx/textctrl.h>
#include <wx/textdlg.h>
#include <wx/tglbtn.h>
#include <wx/timer.h>
#include <wx/tokenzr.h>
#include <wx/toolbar.h>
#include <wx/treebook.h>
#include <wx/treectrl.h>
#if wxCHECK_VERSION(2,9,2)
#include <wx/versioninfo.h>
#endif
#include <wx/window.h>
#if wxCHECK_VERSION(2, 9, 0)
    #include <wx/wxcrtvararg.h>
#endif

// wxWidgets richtext headers
#include <wx/richtext/richtextctrl.h>
#include <wx/richtext/richtextformatdlg.h>
#include <wx/richtext/richtextstyledlg.h>
#include <wx/richtext/richtextstyles.h>
#include <wx/richtext/richtextsymboldlg.h>

// wxWidgets propgrid headers
#include <wx/propgrid/propgrid.h>   // Special propgrid Header Please keep at top
#include <wx/propgrid/advprops.h>
#include <wx/propgrid/manager.h>
#if wxPG_USING_WXOWNERDRAWNCOMBOBOX || wxCHECK_VERSION(2,9,0)
    #include <wx/odcombo.h>
#else
    #include <wx/propgrid/odcombo.h>
#endif
#if wxCHECK_VERSION(2, 9, 0)
    #include <wx/propgrid/editors.h>
#else
    #include <wx/propgrid/propdev.h>
#endif

// Code::Blocks SDK Headers
#include <prep.h>               // Special CB Header Please keep at top
#include <cbauibook.h>
#include <cbeditor.h>
#include <cbproject.h>
#include <compilerfactory.h>    // needed by sc_base_types.h
#include <compiletargetbase.h>  // needed by sc_base_types.h
#include <configmanager.h>
#include <configurationpanel.h>
#include <editorbase.h>
#include <editormanager.h>
#include <encodingdetector.h>
#include <filemanager.h>
#include <globals.h>
#include <logmanager.h>
#include <macrosmanager.h>      // needed by sc_base_types.h
#include <manager.h>
#include <pluginmanager.h>
#include <projectfile.h>
#include <projectloader_hooks.h>
#include <projectmanager.h>
#include <scriptingmanager.h>   // needed by sc_base_types.h
#include <scrollingdialog.h>
#include <sdk_events.h>
#include <uservarmanager.h>     // needed by sc_base_types.h

// Other Core Code::Blocks Headers
#include <tinyxml/tinyxml.h>

// wxSmith often used and rarely changing headers
#include "wxsmith.h"
#include "properties/wxsproperties.h"
#include "wxwidgets/wxsitem.h"


/*
Headers that PCH does NOT seem to work
   #include <cbstyledtextctrl.h>
   #include <sc_base_types.h>
   #include <sqplus.h>
   #include <tinyxml/tinywxuni.h>
*/


#endif // NOPCH
#endif // PRECOMP_H_INCLUDED

I have attached the svn patch to trunk only did the cbp changes to the wxSmith.cbp file.
Removed the attached path working on a new version of it.
I will do the other changes if killerbot says the patch speeds up the build.
It was not enough change for me to notice once I was done; but, I am thinking my 32-bit computer might not be able to handle the large PCH without paging.

« Last Edit: April 30, 2014, 10:34:27 pm by stahta01 »
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 32 bit.
On Debian Stretch, compiling CB Trunk against wxWidgets 3.0.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org