News:

Accounts with zero posts and zero activity during the last months will be deleted periodically to fight SPAM!

Main Menu

Patch to add an local PCH file to the Windows wx28 Project

Started by stahta01, November 10, 2013, 03:45:02 AM

Previous topic - Next topic

stahta01

I have spent today working on a patch to add a Precompiled Header to the wxSmith Windows project.

Here is the precompiled file.

// 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.

C Programmer working to learn more about C++.
On Windows 10 64 bit and Windows 11 64 bit.
--
When in doubt, read the CB WiKi FAQ. [url="http://wiki.codeblocks.org"]http://wiki.codeblocks.org[/url]