Source hierarchy

From Code::Blocks

Top-level layout

The src folder within the SVN trunk directory [1] contains the following sub-directories:

base        - ?? source for exchndl.dll, and tinyxml source
build_tools - ?? tools used within build process such as for included SVN revision number (not sure about scrooge)
i18n        - i18n (internationalization) support files
include     - header files for libcodeblocks, these headers are used by the plugins and the main application
mime        - mime-type files, icons and other metadata
plugins     - source for C::B plugins
scripts     - squirrel script files and associated support files
sdk         - cpp files for libcodeblocks, also all the bundled libs have been put here (wxscintilla, wxpropgrid, scripting)
src         - header and cpp files for the main executable
templates   - files relating to templates for different types of files and projects within C::B
tools       - Code for programs other than C::B

Main Executable

The Codeblocks executable is built from src/src, but most of the functionality is contained within libcodeblocks built from src/sdk. The reason for this appears to be the need to avoid unresolved symbols in DLL files - a good explanation for the need for this can be found at [2]


  • All plugins go into the src/plugins folder.
  • Contrib and non-core plugins go into src/plugins/contrib/


Resources for writing scripts as found in src/scripts can be found in Scripting Code::Blocks

Third party source code Folders

These folders tend to contain source code not maintained primarily by CB Developers. Therefore the changes normally need submitted to someone besides the CB team.

  • src/base/tinyxml
  • src/include/mozilla_chardet
  • src/include/scripting/sqplus
  • src/include/scripting/sqstdlib
  • src/include/scripting/squirrel
  • src/include/tinyxml
  • src/plugins/astyle/astyle
  • src/plugins/compilergcc/depslib
  • src/plugins/contrib/SpellChecker/hunspell
  • src/plugins/contrib/SpellChecker/wxspellchecker
  • src/plugins/contrib/devpak_plugin/bzip2
  • src/plugins/contrib/help_plugin/bzip2
  • src/plugins/contrib/help_plugin/zlib
  • src/plugins/contrib/source_exporter/wxPdfDocument
  • src/plugins/contrib/wxContribItems
  • src/plugins/contrib/wxSmithSTC/stc
  • src/plugins/contrib/wxSmithSTC/stedit
  • src/sdk/scripting/sqplus
  • src/sdk/scripting/sqstdlib
  • src/sdk/scripting/squirrel
  • src/sdk/wxscintilla


Related forum discussion [/index.php/topic,15657.msg105327.html]