<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.codeblocks.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jgm</id>
	<title>Code::Blocks - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.codeblocks.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jgm"/>
	<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php/Special:Contributions/Jgm"/>
	<updated>2026-05-19T10:51:38Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.0</generator>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=FAQ&amp;diff=5481</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=FAQ&amp;diff=5481"/>
		<updated>2008-03-28T15:26:37Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* Compiling - version information  question*/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Code::Blocks Documentation]]&lt;br /&gt;
== General ==&lt;br /&gt;
&lt;br /&gt;
==== Q: Is it possible to integrate the win32-help as in dev-cpp, to get help on the items under the caret? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' Integration of the Win32 API helpfile should be a no-brainer. Someone could just write a really simple plugin and, upon invocation (through a shortcut possibly), look at the word under the cursor and invoke windows help... If you think you 're up to the task, I can help you with all the info you need. If not, I could write it myself but no promises on a release date ;)&lt;br /&gt;
&lt;br /&gt;
==== Q: What licence is Code::Blocks released under? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' GNU General Public License 3 ([http://www.gnu.org/licenses/gpl-3.0.html GPL])&lt;br /&gt;
&lt;br /&gt;
== Compiling ==&lt;br /&gt;
&lt;br /&gt;
==== Q: What compiler can I use with Code::Blocks? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' Code::Blocks philosophy is to be able to use any compiler on earth! Well, almost.&lt;br /&gt;
&lt;br /&gt;
As a matter of fact it largely depends on the used compiler plugin. The one provided with the default Code::Blocks installation, supports GNU GCC (MinGW/Cygwin), MS Visual C++ Free Toolkit 2003, Borland's C++ Compiler 5.5, DigitalMars Free Compiler., OpenWatcom and Small Device C Compiler (SDCC).&lt;br /&gt;
&lt;br /&gt;
==== Q: I imported a MSVCToolkit project/workspace, but Code::Blocks insists on trying to use GCC. What's wrong? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' A little documentation problem ^^;. The &amp;quot;default compiler&amp;quot; is usually GCC, so when you imported it with &amp;quot;the default compiler&amp;quot;, you told it to use GCC. To fix this situation, go to &amp;quot;Project&amp;quot;, &amp;quot;Build Options&amp;quot; and select VC++ Toolkit as your compiler.&lt;br /&gt;
&lt;br /&gt;
Another possibility is to put the Microsoft compiler as the default one.  To do this, choose '''''Settings - Compiler''''', choose the Microsoft compiler in the '''''Selected Compiler''''' section (top of dialog box) and press the '''''Set as default''''' button.&lt;br /&gt;
&lt;br /&gt;
From now onwards, for all new projects the Microsoft compiler will be taken by default.&lt;br /&gt;
&lt;br /&gt;
==== Q: My project should be compiled with a custom makefile. Is it possible with Code::Blocks? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' Yes, you can. You need to change two different settings:&lt;br /&gt;
&lt;br /&gt;
a) In &amp;quot;Compiler Settings&amp;quot;, under the tab &amp;quot;Other&amp;quot;, there's a setting called &amp;quot;Build Method&amp;quot;. Choose &amp;quot;Work with makefiles&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
b) In your project's Properties, you can choose to use a makefile. Check &amp;quot;This is a custom makefile&amp;quot; (WARNING! if you forget to check, the makefile will be OVERWRITTEN!)&lt;br /&gt;
&lt;br /&gt;
And that's it! :)&lt;br /&gt;
&lt;br /&gt;
==== Q: I have downloaded MS VC++ Toolkit 2003 for a compiler. How do I tell Code::Blocks that it is my compiler? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' Click on &amp;quot;Project/Build options&amp;quot; and select the compiler you want for your project/target.&lt;br /&gt;
&lt;br /&gt;
==== Q: When compiling a wxWidgets project, I get several &amp;quot;variable 'vtable for xxxx' can't be auto-imported&amp;quot;. What's wrong? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' You need to add WXUSINGDLL in &amp;quot;Project-&amp;gt;Build options-&amp;gt;Compiler #defines&amp;quot; and rebuild your project (or create a new project and use the &amp;quot;Using wxWidgets DLL&amp;quot; project option which adds &amp;quot;-DWXUSINGDLL&amp;quot; to Project-&amp;gt;Build options-&amp;gt;Other options).&lt;br /&gt;
Other errors with the same resolution are:&lt;br /&gt;
'unresolved external symbol &amp;quot;char const * const wxEmptyString&amp;quot; (?wxEmptyString@@3PBDB)' or similar.&lt;br /&gt;
If you were using 1.0-finalbeta and were trying to build a statically linked wxWidgets project, the cause of the problem was some faulty templates. But that's fixed now.&lt;br /&gt;
&lt;br /&gt;
==== Q: I can't compile a multithreaded app with VC Toolkit! Where are the libraries? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' Sorry, no fix for your problem...&lt;br /&gt;
&lt;br /&gt;
Your problem doesn't come from CodeBlocks. It exists, because the free VC toolkit (VCTK) doesn't provide all the libraries and tools which are coming with Visual C++ (VC) which isn't free, unfortunately.&lt;br /&gt;
&lt;br /&gt;
Try buying a full-fledged VC++, or even better, download [http://www.mingw.org/ MinGW]&lt;br /&gt;
&lt;br /&gt;
The libraries that can be obtained free of charge are:&lt;br /&gt;
&lt;br /&gt;
Paths:&lt;br /&gt;
 (VCT3) Visual C++ Toolkit 2003 - C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib&lt;br /&gt;
 (PSDK) Platform SDK - C:\Program Files\Microsoft Platform SDK\Lib&lt;br /&gt;
 (NSDK) .NET 1.1 SDK - C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib&lt;br /&gt;
&lt;br /&gt;
C runtime libs:&lt;br /&gt;
 LIBC.LIB 	Single-threaded, static link                                          (VCT3, NSDK)&lt;br /&gt;
 LIBCMT.LIB 	Multithreaded, static link                                            (VCT3, NSDK)&lt;br /&gt;
 MSVCRT.LIB 	Multithreaded, dynamic link (import library for MSVCR71.DLL)          (NSDK)&lt;br /&gt;
 LIBCD.LIB 	Single-threaded, static link (debug)                                  (VCT3, NSDK)&lt;br /&gt;
 LIBCMTD.LIB 	Multithreaded, static link (debug)                                    (NSDK)&lt;br /&gt;
 MSVCRTD.LIB 	Multithreaded, dynamic link (import library for MSVCR71D.DLL) (debug) (NSDK)&lt;br /&gt;
&lt;br /&gt;
C++ libs:&lt;br /&gt;
 LIBCP.LIB 	Single-threaded, static link                                          (VCT3, PSDK)&lt;br /&gt;
 LIBCPMT.LIB 	Multithreaded, static link                                            (VCT3)&lt;br /&gt;
 MSVCPRT.LIB 	Multithreaded, dynamic link (import library for MSVCP71.dll)          (none)&lt;br /&gt;
 LIBCPD.LIB 	Single-threaded, static link (debug)                                  (VCT3)&lt;br /&gt;
 LIBCPMTD.LIB 	Multithreaded, static link (debug)                                    (none)&lt;br /&gt;
 MSVCPRTD.LIB 	Multithreaded, dynamic link (import library for MSVCP71D.DLL) (debug) (none)&lt;br /&gt;
&lt;br /&gt;
Try setting the library linker directories to:&lt;br /&gt;
 C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib&lt;br /&gt;
 C:\Program Files\Microsoft Platform SDK\Lib&lt;br /&gt;
 C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib&lt;br /&gt;
in that order.&lt;br /&gt;
&lt;br /&gt;
The ones listed as (none) above are actually present in the IA64 and AMD64 subdirectories of the PSDK lib directory.  Not sure if these would work on 32-bit windows, however, they may if they are&lt;br /&gt;
meant to work in 32-bit compatibility mode on the 64-bit processors.  Worth a try.  Otherwise, you&lt;br /&gt;
can link statically to the C++ library instead of using MSVCP71.dll.  If you really want to link against MSVCP71.dll you can try to create MSVCP71.LIB from the dll using lib.exe and sed.  Search google for &amp;quot;exports.sed&amp;quot; for detailed steps.&lt;br /&gt;
&lt;br /&gt;
See also: [http://wiki.tcl.tk/2435 tclsh script to extract import .lib from (any?) DLL (MinGW)]&lt;br /&gt;
&lt;br /&gt;
See also: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_c_run.2d.time_libraries.asp&lt;br /&gt;
&lt;br /&gt;
See also: http://sapdb.2scale.net/moin.cgi/MS_20C_2b_2b_20Toolkit&lt;br /&gt;
&lt;br /&gt;
==== Q: Microsoft calls MSVCRT.DLL a &amp;quot;Known DLL.&amp;quot; How do I know if I can/should use it ? ====&lt;br /&gt;
&lt;br /&gt;
Microsoft does not clearly describe what [http://msdn2.microsoft.com/en-us/library/abx4dbyh.aspx 'Known DLL'] means. A [http://www.zlib.net/DLL_FAQ.txt zLib FAQ entry] makes it much more clear. The short answer is that MSVCRT.DLL is a protected system component and to preserve system integrity it cannot be updated by any end user product installers but may be updated from time to time by system updates. If it works use it. If it doesn't you'll need use a non protected library such as MSVCR70 or MSVCR80 which not only can be updated but private versions can be installed. A small and simple C program is likely to work just fine with MSVCRT.DLL. A large and complex C++ program is more likely to need the additional functionality of MSVCR.&lt;br /&gt;
&lt;br /&gt;
The MSVCRT.LIB that ships with 32 bit compiler Visual C++ Toolkit 2003 dynamically links to MSVCR71.DLL which is not present in a freshly installed Windows XP system. MSVCR only appears after some software package that needs it such as [http://www.adobe.com/ Adobe Acrobat Reader] is installed. This means that programs that depend on MSVCR must redistribute it or risk not working on a substantial percentage of systems for reasons not obvious to either the affected end users or the program supplier. &lt;br /&gt;
&lt;br /&gt;
For projects that can safely use MSVCRT and where it is impractical to redistribute MSVCR, a Win32 MSVCRT.LIB that links to MSVCRT.DLL is available in any [http://www.microsoft.com/whdc/devtools/ddk/default.mspx Device Driver Kit]. It is best to preserve the MSVCRT.LIB provided by the compiler and alter the name of the MSVCRT.LIB extracted from a DDK. List your newly named MSVCRTxx in the lib. If you use MSVCRT.LIB from the Windows 2003 DDK you may encounter the link '''error LNK2001: unresolved external symbol ___security_cookie'''. This can be solved by switching to the MSVCRT.LIB in the Windows XP DDK or by linking '''bufferoverflowU.lib''' found in the Windows SDK. A Win64 MSVCRT.LIB that links to MSVCRT.DLL is available in the Windows SDK or Platform [http://www.microsoft.com/downloads/details.aspx?FamilyId=E15438AC-60BE-41BD-AA14-7F1E0F19CA0D&amp;amp;displaylang=en PSDK]. &lt;br /&gt;
&lt;br /&gt;
To prevent problems it is recommended to include both /MD and /NODEFAULTLIB:MSVCRT switches so that problems come up at link time instead of random crashes at run time. Be sure to load your programs into [http://www.dependencywalker.com/ Dependancy Walker] to ensure that functions aren't being linked into both MSVCRxx.DLL and MSVCRT.DLL. It is essential that malloc, calloc, realloc, free, and related memory allocation functions all import from the same DLL. &lt;br /&gt;
&lt;br /&gt;
Source: [http://wiki.tcl.tk/11431 TCL Wiki]&lt;br /&gt;
&lt;br /&gt;
==== Q: How can I use a DLL without DEF or LIB files ? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' I tried to find a solution, and the following script solved the problem for me. I used a cygwin environment for ''tclsh'' and ''sed'', but the MinGW tools for ''objdump'' and ''dlltool''. See here [http://wiki.tcl.tk/2435 tclsh script to extract import .lib from (any?) DLL (MinGW)]&lt;br /&gt;
&lt;br /&gt;
TODO: Someone might add some informations about problems&lt;br /&gt;
&lt;br /&gt;
Request: Is MinGW or Code::Blocks able to support automatic generation of import libraries ?&lt;br /&gt;
&lt;br /&gt;
See also: http://www.mingw.org/mingwfaq.shtml#faq-msvcdll&lt;br /&gt;
&lt;br /&gt;
See also: http://wyw.dcweb.cn/stdcall.htm&lt;br /&gt;
&lt;br /&gt;
==== Q: Where are the libraries for the OpenGL, Ogre3D, SDL, QT, wxWidgets etc. projects? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' They're not bundled. The templates were provided for your convenience, but you need to download the libraries on your own.&lt;br /&gt;
In common terms, &amp;quot;batteries not included&amp;quot; :)&lt;br /&gt;
&lt;br /&gt;
==== Q: Is it possible to use Visual C++ 6.0 with Code::Blocks? ====&lt;br /&gt;
&lt;br /&gt;
'''A:''' Yes. See [[Integrating Microsoft Visual C 6 with Code::Blocks IDE]] for a detailed description on using VC++ 6.0 with Code::Blocks.&lt;br /&gt;
&lt;br /&gt;
==== Q: I get this error when compiling: Symbol &amp;quot;isascii&amp;quot; was not found in &amp;quot;codeblocks.dll&amp;quot; ====&lt;br /&gt;
'''A:''' Make sure you didn't mix up the MSVC headers or libs with the MinGW ones.&lt;br /&gt;
&lt;br /&gt;
==== Q: I would like to compile a project using some non-standard libraries. How can I indicate to CodeBlocks that these libraries and include files exist? ====&lt;br /&gt;
'''A:''' You can specify them for your global environment or just for your project.&lt;br /&gt;
&lt;br /&gt;
For global environment :&amp;lt;br /&amp;gt;&lt;br /&gt;
- Menu &amp;lt;i&amp;gt;Settings/Compiler and debugger&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- In the &amp;lt;i&amp;gt;Global compiler settings&amp;lt;/i&amp;gt;, select the directories tab&amp;lt;br /&amp;gt;&lt;br /&gt;
- Add the required paths for compiler and linker.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
For your project :&amp;lt;br /&amp;gt;&lt;br /&gt;
- Right click on the project then select &amp;lt;i&amp;gt;Build options&amp;lt;/i&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
- Select the directories tab&amp;lt;br /&amp;gt;&lt;br /&gt;
- Add the required paths for compiler and linker.&amp;lt;br /&amp;gt;&lt;br /&gt;
- Add your specific libraries in the linker tab.&amp;lt;br /&amp;gt;&lt;br /&gt;
- Pay attention to project settings and target settings.&lt;br /&gt;
==== Q: How do I use both Debug and Release builds of wx libraries? ====&lt;br /&gt;
'''A:''' I would use the default method of doing it and the default folder naming.&lt;br /&gt;
&lt;br /&gt;
Using these C::B custom varibles&lt;br /&gt;
 WX_SUFFIX=&amp;quot;&amp;quot;  // ANSI Release&lt;br /&gt;
 WX_SUFFIX=&amp;quot;d&amp;quot;  // ANSI Debug&lt;br /&gt;
 WX_SUFFIX=&amp;quot;u&amp;quot;  // Unicode Release&lt;br /&gt;
 WX_SUFFIX=&amp;quot;ud&amp;quot;  // Unicode debug&lt;br /&gt;
&lt;br /&gt;
I use WX_CFG when I am using a special configuration&lt;br /&gt;
WX_CFG=&amp;quot;rc3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Remember, the CodeBlocks globel variable WX needs to point to the wxWidgets folder.&lt;br /&gt;
&lt;br /&gt;
Example minGW build command for &amp;quot;Unicode debug&amp;quot; 2.8.0 RC3&lt;br /&gt;
&lt;br /&gt;
 mingw32-make -f makefile.gcc VENDOR=rc3 CFG=rc3 USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=debug   UNICODE=1&lt;br /&gt;
&lt;br /&gt;
&amp;quot;VENDOR=&amp;quot; just puts rc3 in the DLL name; &amp;quot;CFG=&amp;quot; sets which folder the DLL is placed in. In this case in lib\gcc_dllrc3&lt;br /&gt;
&lt;br /&gt;
Before using CFG in the mingw32-make build you need to  do one prior wxWidget build without using it; else the build errors out. (See note below.)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;__WXDEBUG__&amp;quot; must be defined (in the codeblocks project setting) if you wish to link against the  debug version of wxWidgets DLL. Else you will get a runtime error, when you try to run your project output.&lt;br /&gt;
&lt;br /&gt;
Contributed by Tim S&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
*I have never gotten the following command to work&lt;br /&gt;
  mingw32-make -f makefile.gcc VENDOR=rc3 CFG=rc3 USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=debug   UNICODE=1&lt;br /&gt;
&lt;br /&gt;
*unless I have first run this command on the same wxWidgets folders&lt;br /&gt;
  mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=debug   UNICODE=1&lt;br /&gt;
&lt;br /&gt;
*I am guessing that the build without the CFG creates a file or directory needed by the build with the CFG.&lt;br /&gt;
&lt;br /&gt;
==== Q: How do I troubleshoot an compiler problem? ====&lt;br /&gt;
'''A:''' I would start by turning on full Compiler logging.&lt;br /&gt;
&lt;br /&gt;
This is done by selecting the &amp;quot;Full command line&amp;quot; option Under menu &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Compiler and Debugger&amp;quot; -&amp;gt; &amp;quot;Other Setting&amp;quot; tab, &amp;quot;Compiler logging&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Q: How do I add version information to windows executables and dll's? ====&lt;br /&gt;
'''A:''' You need to create a reosurce file with the extension .rc and write the version info there. Then add that file to the Code::Blocks project you are working on.&lt;br /&gt;
&lt;br /&gt;
Sample content of a resource file that you can use and modify for your needs:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US&lt;br /&gt;
&lt;br /&gt;
VS_VERSION_INFO    VERSIONINFO&lt;br /&gt;
  FILEVERSION      1,0,0,1&lt;br /&gt;
  PRODUCTVERSION   1,0,0,1&lt;br /&gt;
  FILEFLAGSMASK    0x3fL // VS_FFI_FILEFLAGSMASK&lt;br /&gt;
#ifdef _DEBUG&lt;br /&gt;
  FILEFLAGS        0x1L  // VS_FF_DEBUG|VS_FF_PRIVATEBUILD|VS_FF_PRERELEASE&lt;br /&gt;
#else&lt;br /&gt;
  FILEFLAGS        0x0L  // final version&lt;br /&gt;
#endif&lt;br /&gt;
  FILEOS           VOS_NT_WINDOWS32&lt;br /&gt;
  FILETYPE         VFT_APP&lt;br /&gt;
  FILESUBTYPE      VFT2_UNKNOWN // not used&lt;br /&gt;
{&lt;br /&gt;
  BLOCK &amp;quot;StringFileInfo&amp;quot;&lt;br /&gt;
  {&lt;br /&gt;
    BLOCK &amp;quot;040904E4&amp;quot; // Lang=US English, CharSet=Windows Multilingual&lt;br /&gt;
    {&lt;br /&gt;
      VALUE &amp;quot;Build&amp;quot;,            &amp;quot;August 2007\0&amp;quot;&lt;br /&gt;
      VALUE &amp;quot;Comments&amp;quot;,         &amp;quot;Free for personal use only.\0&amp;quot;&lt;br /&gt;
      VALUE &amp;quot;CompanyName&amp;quot;,      &amp;quot;Fake Company\0&amp;quot;&lt;br /&gt;
      VALUE &amp;quot;Developer&amp;quot;,        &amp;quot;The Developer\0&amp;quot;&lt;br /&gt;
      VALUE &amp;quot;FileDescription&amp;quot;,  &amp;quot;Application implementing something\0&amp;quot;&lt;br /&gt;
      VALUE &amp;quot;FileVersion&amp;quot;,      &amp;quot;1.0.000\0&amp;quot;&lt;br /&gt;
      VALUE &amp;quot;InternalName&amp;quot;,     &amp;quot;AppInternalName\0&amp;quot;&lt;br /&gt;
      VALUE &amp;quot;LegalCopyright&amp;quot;,   &amp;quot;Copyright (C) 2007 Fake Company\0&amp;quot;&lt;br /&gt;
      VALUE &amp;quot;LegalTrademarks&amp;quot;,  &amp;quot;All rights reserved.\0&amp;quot;&lt;br /&gt;
      VALUE &amp;quot;OriginalFilename&amp;quot;, &amp;quot;TheEXE.exe\0&amp;quot;&lt;br /&gt;
      VALUE &amp;quot;PrivateBuild&amp;quot;,     &amp;quot;\0&amp;quot;&lt;br /&gt;
      VALUE &amp;quot;ProductName&amp;quot;,      &amp;quot;The EXE\0&amp;quot;&lt;br /&gt;
      VALUE &amp;quot;ProductVersion&amp;quot;,   &amp;quot;1.0.000\0&amp;quot;&lt;br /&gt;
      VALUE &amp;quot;SpecialBuild&amp;quot;,     &amp;quot;\0&amp;quot;&lt;br /&gt;
      VALUE &amp;quot;Support&amp;quot;,          &amp;quot;TheEXE at fake-domain.com\0&amp;quot;&lt;br /&gt;
      VALUE &amp;quot;Users&amp;quot;,            &amp;quot;Unlimited.\0&amp;quot;&lt;br /&gt;
    } // BLOCK &amp;quot;040904E4&amp;quot;&lt;br /&gt;
  } // BLOCK &amp;quot;StringFileInfo&amp;quot;&lt;br /&gt;
  BLOCK &amp;quot;VarFileInfo&amp;quot;&lt;br /&gt;
  {&lt;br /&gt;
    VALUE &amp;quot;Translation&amp;quot;, 0x409, 1252 // 1252 = 0x04E4&lt;br /&gt;
  } // BLOCK &amp;quot;VarFileInfo&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also you can use the the [[AutoVersioning|Auto Versioning]] plugin to assist you on the generation of version information. For documentation of the syntax and values used on windows resource files, you can visit the following websites:&lt;br /&gt;
*http://msdn2.microsoft.com/en-us/library/aa380599.aspx&lt;br /&gt;
*http://www.cygwin.com/cygwin-ug-net/windres.html&lt;br /&gt;
&lt;br /&gt;
== Settings ==&lt;br /&gt;
&lt;br /&gt;
==== Q: How do I get Code Completion to work? ====&lt;br /&gt;
'''A:''' Did you check how code completion is configured ?&lt;br /&gt;
See &amp;quot;Settings/Editor&amp;quot;, click on &amp;quot;Code-completion and symbols browser&amp;quot; in the left column and check the Code completion and C/C++ parser tabs.&lt;br /&gt;
&lt;br /&gt;
From the 2006/11/30 nightly build, you can also add, in the project properties, directories to be searched when locating a file to parse  .Right click on the project, click on Properties and select the C/C++ parser options.&lt;br /&gt;
&lt;br /&gt;
They 're mostly useful when you don't add compiler search dirs in build options but use backticked expressions (e.g. `freetype-config --cflags`). In this case, the parser is not aware of where the source files are located. So, by manually adding the directory in the parser's search dirs you 're actually helping the parser find the files.&lt;br /&gt;
&lt;br /&gt;
Of course, backticked expressions are not the only reason these parser search dirs are useful. As another example, I have a set of projects in a workspace. To minimize maintenance overhead, I 'm using build scripts to configure these projects. Now, although build scripts are an awesome feature, the C/C++ parser faces the same problem: it doesn't know where to search for files. The parser search directories come to the rescue again.&lt;br /&gt;
&lt;br /&gt;
==== Q: How do I make Code::Blocks portable? ====&lt;br /&gt;
*run / configure C::B as usual&lt;br /&gt;
&lt;br /&gt;
''Note:''&lt;br /&gt;
Code::Blocks will create a default.conf file that usually is placed into:&lt;br /&gt;
&amp;quot;C:\Documents and Settings\[your_user_name]\Application Data\codeblocks&amp;quot; (or %APPDATA%) on Windows or your usual home folder (&amp;quot;~/&amp;quot;) under Linux.&lt;br /&gt;
&lt;br /&gt;
*place this default.conf file into the directory where the codeblocks binary is&lt;br /&gt;
*remove the default.conf file from %APPDATA% / home folder respectively&lt;br /&gt;
*just run C::B from within the C::B path and/or via script / link...&lt;br /&gt;
&lt;br /&gt;
''Note:'' Don't forget to remove all bad hacks you might have done previously that modify %USERPROFILE% and/or %APPDATA% on Windows.&lt;br /&gt;
&lt;br /&gt;
''Note:'' If C::B does not find default.conf (it's config) within the %APPDATA% / home folder it looks within the C::B directory (the one where the C::B executable is) next. If there is no config file, too it will be created in the %APPDATA% / home folder. So just make sure you are doing the right thing and C::B is portable just fine.&lt;br /&gt;
&lt;br /&gt;
BTW: This does probably ''not'' apply for any other config file(s) where not C::B is the maintainer but e.g. plugins. The main config file just works like that.&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Linking_the_plugin_to_a_Nightly_Build&amp;diff=5303</id>
		<title>Linking the plugin to a Nightly Build</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Linking_the_plugin_to_a_Nightly_Build&amp;diff=5303"/>
		<updated>2008-01-19T01:26:22Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* Conclusion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Plugin development]]&lt;br /&gt;
'''Work in Progress!!!'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
This article describes how to link your plugin against the dll's shipped with codeblocks on windows.&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Is useful to know how to compile Code::Blocks sources from scratch to link with our plugin, but when we want to share it with the community then we need to link it against the latest nightly build or final release of codeblocks. This is a simple procedure that many people doesn't know at first, and that will help you accelerate development in many ways. Enjoy :)&lt;br /&gt;
&lt;br /&gt;
=Procedure=&lt;br /&gt;
Here are the instructions divided in steps for the easy navigation of our eyes.&lt;br /&gt;
&lt;br /&gt;
====Step One====&lt;br /&gt;
Download and install the latest nightly found on this forum /index.php/board,20.0.html Also you will need the Code::Blocks SDK so checkout the sources on berlios.de using svn.&lt;br /&gt;
&lt;br /&gt;
====Step Two====&lt;br /&gt;
Get the wxWidgets sources at http://wxwidgets.org and configure the setup.h to be compatible with the actual wxmsw28u_gcc_cb_wxXXX.dll compilation.&lt;br /&gt;
&lt;br /&gt;
====Step Three====&lt;br /&gt;
After having your plugin up and running you will need to edit the compiler options and add the directory where your nightly is residing to the linker. Then add the needed libraries to the linker to compile the plugin that usually are wxmsw28u_gcc_cb.dll and libcodeblocks.dll. You don't need to write the .dll extension or the lib word so they will look like this on the linker Options:&lt;br /&gt;
&lt;br /&gt;
*wxmsw28u_gcc_cb&lt;br /&gt;
*codeblocks&lt;br /&gt;
&lt;br /&gt;
=Conclusion=&lt;br /&gt;
You should now be able to compile the plugin and load it to the current nightly without the symbols error. A problem that many developers confront after compiling the plugin with a compilation that differs from the official one. &lt;br /&gt;
&lt;br /&gt;
This was a quick howto so is maybe missing info, I will update it later as add some images. Good Luck!&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Linking_the_plugin_to_a_Nightly_Build&amp;diff=5302</id>
		<title>Linking the plugin to a Nightly Build</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Linking_the_plugin_to_a_Nightly_Build&amp;diff=5302"/>
		<updated>2008-01-19T01:23:12Z</updated>

		<summary type="html">&lt;p&gt;Jgm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Plugin development]]&lt;br /&gt;
'''Work in Progress!!!'''&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
This article describes how to link your plugin against the dll's shipped with codeblocks on windows.&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Is useful to know how to compile Code::Blocks sources from scratch to link with our plugin, but when we want to share it with the community then we need to link it against the latest nightly build or final release of codeblocks. This is a simple procedure that many people doesn't know at first, and that will help you accelerate development in many ways. Enjoy :)&lt;br /&gt;
&lt;br /&gt;
=Procedure=&lt;br /&gt;
Here are the instructions divided in steps for the easy navigation of our eyes.&lt;br /&gt;
&lt;br /&gt;
====Step One====&lt;br /&gt;
Download and install the latest nightly found on this forum /index.php/board,20.0.html Also you will need the Code::Blocks SDK so checkout the sources on berlios.de using svn.&lt;br /&gt;
&lt;br /&gt;
====Step Two====&lt;br /&gt;
Get the wxWidgets sources at http://wxwidgets.org and configure the setup.h to be compatible with the actual wxmsw28u_gcc_cb_wxXXX.dll compilation.&lt;br /&gt;
&lt;br /&gt;
====Step Three====&lt;br /&gt;
After having your plugin up and running you will need to edit the compiler options and add the directory where your nightly is residing to the linker. Then add the needed libraries to the linker to compile the plugin that usually are wxmsw28u_gcc_cb.dll and libcodeblocks.dll. You don't need to write the .dll extension or the lib word so they will look like this on the linker Options:&lt;br /&gt;
&lt;br /&gt;
*wxmsw28u_gcc_cb&lt;br /&gt;
*codeblocks&lt;br /&gt;
&lt;br /&gt;
=Conclusion=&lt;br /&gt;
You should now be able to compile the plugin and load it to the current nightly without the symbols error. A problem that many developers confront after compiling the plugin with a compilation that differs from the official one. This was a quick howto so is maybe missing info, I will update it later. Good Luck!&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Linking_the_plugin_to_a_Nightly_Build&amp;diff=5301</id>
		<title>Linking the plugin to a Nightly Build</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Linking_the_plugin_to_a_Nightly_Build&amp;diff=5301"/>
		<updated>2008-01-19T01:21:16Z</updated>

		<summary type="html">&lt;p&gt;Jgm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Plugin development]]&lt;br /&gt;
&lt;br /&gt;
This article describes how to link your plugin against the dll's shipped with codeblocks on windows.&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Is useful to know how to compile Code::Blocks sources from scratch to link with our plugin, but when we want to share it with the community then we need to link it against the latest nightly build or final release of codeblocks. This is a simple procedure that many people doesn't know at first, and that will help you accelerate development in many ways. Enjoy :)&lt;br /&gt;
&lt;br /&gt;
=Procedure=&lt;br /&gt;
Here are the instructions divided in steps for the easy navigation of our eyes.&lt;br /&gt;
&lt;br /&gt;
====Step One====&lt;br /&gt;
Download and install the latest nightly found on this forum /index.php/board,20.0.html Also you will need the Code::Blocks SDK so checkout the sources on berlios.de using svn.&lt;br /&gt;
&lt;br /&gt;
====Step Two====&lt;br /&gt;
Get the wxWidgets sources at http://wxwidgets.org and configure the setup.h to be compatible with the actual wxmsw28u_gcc_cb_wxXXX.dll compilation.&lt;br /&gt;
&lt;br /&gt;
====Step Three====&lt;br /&gt;
After having your plugin up and running you will need to edit the compiler options and add the directory where your nightly is residing to the linker. Then add the needed libraries to the linker to compile the plugin that usually are wxmsw28u_gcc_cb.dll and libcodeblocks.dll. You don't need to write the .dll extension or the lib word so they will look like this on the linker Options:&lt;br /&gt;
&lt;br /&gt;
*wxmsw28u_gcc_cb&lt;br /&gt;
*codeblocks&lt;br /&gt;
&lt;br /&gt;
=Conclusion=&lt;br /&gt;
You should now be able to compile the plugin and load it to the current nightly without the symbols error. A problem that many developers confront after compiling the plugin with a compilation that differs from the official one. This was a quick howto so is maybe missing info, I will update it later. Good Luck!&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Linking_the_plugin_to_a_Nightly_Build&amp;diff=5300</id>
		<title>Linking the plugin to a Nightly Build</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Linking_the_plugin_to_a_Nightly_Build&amp;diff=5300"/>
		<updated>2008-01-19T01:18:31Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* Procedure */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article describes how to link your plugin against the dll's shipped with codeblocks on windows.&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Is useful to know how to compile Code::Blocks sources from scratch to link with our plugin, but when we want to share it with the community then we need to link it against the latest nightly build or final release of codeblocks. This is a simple procedure that many people doesn't know at first, and that will help you accelerate development in many ways. Enjoy :)&lt;br /&gt;
&lt;br /&gt;
=Procedure=&lt;br /&gt;
Here are the instructions divided in steps for the easy navigation of our eyes.&lt;br /&gt;
&lt;br /&gt;
====Step One====&lt;br /&gt;
Download and install the latest nightly found on this forum /index.php/board,20.0.html Also you will need the Code::Blocks SDK so checkout the sources on berlios.de using svn.&lt;br /&gt;
&lt;br /&gt;
====Step Two====&lt;br /&gt;
Get the wxWidgets sources at http://wxwidgets.org and configure the setup.h to be compatible with the actual wxmsw28u_gcc_cb_wxXXX.dll compilation.&lt;br /&gt;
&lt;br /&gt;
====Step Three====&lt;br /&gt;
After having your plugin up and running you will need to edit the compiler options and add the directory where your nightly is residing to the linker. Then add the needed libraries to the linker to compile the plugin that usually are wxmsw28u_gcc_cb.dll and libcodeblocks.dll. You don't need to write the .dll extension or the lib word so they will look like this on the linker Options:&lt;br /&gt;
&lt;br /&gt;
*wxmsw28u_gcc_cb&lt;br /&gt;
*codeblocks&lt;br /&gt;
&lt;br /&gt;
=Conclusion=&lt;br /&gt;
You should now be able to compile the plugin and load it to the current nightly without the symbols error. A problem that many developers confront after compiling the plugin with a compilation that differs from the official one. This was a quick howto so is maybe missing info, I will update it later. Good Luck!&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Linking_the_plugin_to_a_Nightly_Build&amp;diff=5299</id>
		<title>Linking the plugin to a Nightly Build</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Linking_the_plugin_to_a_Nightly_Build&amp;diff=5299"/>
		<updated>2008-01-19T01:17:31Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* Conclusion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article describes how to link your plugin against the dll's shipped with codeblocks on windows.&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Is useful to know how to compile Code::Blocks sources from scratch to link with our plugin, but when we want to share it with the community then we need to link it against the latest nightly build or final release of codeblocks. This is a simple procedure that many people doesn't know at first, and that will help you accelerate development in many ways. Enjoy :)&lt;br /&gt;
&lt;br /&gt;
=Procedure=&lt;br /&gt;
Here are the instructions divided in steps for the easy navigation of our eyes.&lt;br /&gt;
&lt;br /&gt;
==Step One==&lt;br /&gt;
Download and install the latest nightly found on this forum /index.php/board,20.0.html Also you will need the Code::Blocks SDK so checkout the sources on berlios.de using svn.&lt;br /&gt;
&lt;br /&gt;
==Step Two==&lt;br /&gt;
Get the wxWidgets sources at http://wxwidgets.org and configure the setup.h to be compatible with the actual wxmsw28u_gcc_cb_wxXXX.dll compilation.&lt;br /&gt;
&lt;br /&gt;
==Step Three==&lt;br /&gt;
After having your plugin up and running you will need to edit the compiler options and add the directory where your nightly is residing to the linker. Then add the needed libraries to the linker to compile the plugin that usually are wxmsw28u_gcc_cb.dll and libcodeblocks.dll. You don't need to write the .dll extension or the lib word so they will look like this on the linker Options:&lt;br /&gt;
&lt;br /&gt;
*wxmsw28u_gcc_cb&lt;br /&gt;
*codeblocks&lt;br /&gt;
&lt;br /&gt;
=Conclusion=&lt;br /&gt;
You should now be able to compile the plugin and load it to the current nightly without the symbols error. A problem that many developers confront after compiling the plugin with a compilation that differs from the official one. This was a quick howto so is maybe missing info, I will update it later. Good Luck!&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Linking_the_plugin_to_a_Nightly_Build&amp;diff=5298</id>
		<title>Linking the plugin to a Nightly Build</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Linking_the_plugin_to_a_Nightly_Build&amp;diff=5298"/>
		<updated>2008-01-19T01:15:33Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article describes how to link your plugin against the dll's shipped with codeblocks on windows.&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Is useful to know how to compile Code::Blocks sources from scratch to link with our plugin, but when we want to share it with the community then we need to link it against the latest nightly build or final release of codeblocks. This is a simple procedure that many people doesn't know at first, and that will help you accelerate development in many ways. Enjoy :)&lt;br /&gt;
&lt;br /&gt;
=Procedure=&lt;br /&gt;
Here are the instructions divided in steps for the easy navigation of our eyes.&lt;br /&gt;
&lt;br /&gt;
==Step One==&lt;br /&gt;
Download and install the latest nightly found on this forum /index.php/board,20.0.html Also you will need the Code::Blocks SDK so checkout the sources on berlios.de using svn.&lt;br /&gt;
&lt;br /&gt;
==Step Two==&lt;br /&gt;
Get the wxWidgets sources at http://wxwidgets.org and configure the setup.h to be compatible with the actual wxmsw28u_gcc_cb_wxXXX.dll compilation.&lt;br /&gt;
&lt;br /&gt;
==Step Three==&lt;br /&gt;
After having your plugin up and running you will need to edit the compiler options and add the directory where your nightly is residing to the linker. Then add the needed libraries to the linker to compile the plugin that usually are wxmsw28u_gcc_cb.dll and libcodeblocks.dll. You don't need to write the .dll extension or the lib word so they will look like this on the linker Options:&lt;br /&gt;
&lt;br /&gt;
*wxmsw28u_gcc_cb&lt;br /&gt;
*codeblocks&lt;br /&gt;
&lt;br /&gt;
=Conclusion=&lt;br /&gt;
You should now be able to compile the plugin and load it to the current nightly with out the symbols error. A problem that many developers confront after compiling the plugin with a compilation that differs from the official one. This was a quick howto so is maybe missing info, I will update it later. Good Luck!&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Linking_the_plugin_to_a_Nightly_Build&amp;diff=5297</id>
		<title>Linking the plugin to a Nightly Build</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Linking_the_plugin_to_a_Nightly_Build&amp;diff=5297"/>
		<updated>2008-01-19T01:14:46Z</updated>

		<summary type="html">&lt;p&gt;Jgm: Initial Creation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article describes how to link your plugin against the dll's shipped with codeblocks on windows.&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Is useful to know how to compile Code::Blocks sources from scratch to link with our plugin, but when we want to share it with the community then we need to link it against the latest nightly build or final release of codeblocks. This is a simple procedure that many people doesn't know at first, and that will help you accelerate your development in many ways. Enjoy :)&lt;br /&gt;
&lt;br /&gt;
=Procedure=&lt;br /&gt;
Here are the instructions divided in steps for the easy navigation of our eyes.&lt;br /&gt;
&lt;br /&gt;
==Step One==&lt;br /&gt;
Download and install the latest nightly found on this forum /index.php/board,20.0.html Also you will need the Code::Blocks SDK so checkout the sources on berlios.de using svn.&lt;br /&gt;
&lt;br /&gt;
==Step Two==&lt;br /&gt;
Get the wxWidgets sources at http://wxwidgets.org and configure the setup.h to be compatible with the actual wxmsw28u_gcc_cb_wxXXX.dll compilation.&lt;br /&gt;
&lt;br /&gt;
==Step Three==&lt;br /&gt;
After having your plugin up and running you will need to edit the compiler options and add the directory where your nightly is residing to the linker. Then add the needed libraries to the linker to compile the plugin that usually are wxmsw28u_gcc_cb.dll and libcodeblocks.dll. You don't need to write the .dll extension or the lib word so they will look like this on the linker Options:&lt;br /&gt;
&lt;br /&gt;
*wxmsw28u_gcc_cb&lt;br /&gt;
*codeblocks&lt;br /&gt;
&lt;br /&gt;
=Conclusion=&lt;br /&gt;
You should now be able to compile the plugin and load it to the current nightly with out the symbols error. A problem that many developers confront after compiling the plugin with a compilation that differs from the official one. This was a quick howto so is maybe missing info, I will update it later. Good Luck!&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Developer_documentation&amp;diff=5296</id>
		<title>Developer documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Developer_documentation&amp;diff=5296"/>
		<updated>2008-01-19T00:21:09Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* Plug-In development */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Code::Blocks Documentation]]&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
Articles for Code::Blocks developers.&lt;br /&gt;
&lt;br /&gt;
* '''[http://launchpad.net/products/codeblocks/ Translation]'''&lt;br /&gt;
:Code::Blocks uses Launchpad to coordinate translation efforts.&lt;br /&gt;
&lt;br /&gt;
* '''[[Coding style]]'''&lt;br /&gt;
:The source code formatting style used in the Code::Blocks' source.&lt;br /&gt;
&lt;br /&gt;
* '''[[Creating a custom lexer for Code::Blocks editor]]'''&lt;br /&gt;
:How to add support for new syntax lighting schemes.&lt;br /&gt;
&lt;br /&gt;
* '''[[Creating a patch to submit to BerliOS (Patch Tracker)]]'''&lt;br /&gt;
:Creating a diff file and then submitting it to the patch tracker.&lt;br /&gt;
&lt;br /&gt;
* '''[[Unicode Standards]]'''&lt;br /&gt;
:Information about unicode standards and how unicode is handled in Code::Blocks' source code.&lt;br /&gt;
&lt;br /&gt;
* '''[[Various development tips]]'''&lt;br /&gt;
:List of various development tips for Code::Blocks.&lt;br /&gt;
&lt;br /&gt;
* '''[[Scripting Code::Blocks]]'''&lt;br /&gt;
:Information about scripting Code::Blocks with [http://www.squirrel-lang.org/ Squirrel].&lt;br /&gt;
&lt;br /&gt;
* '''[[A short overview about Code::Blocks architecture]]'''&lt;br /&gt;
:Information about the architecture of Code::Blocks.&lt;br /&gt;
&lt;br /&gt;
* '''[[Code::Blocks SDK events]]'''&lt;br /&gt;
:Information about the Code::Blocks SDK events and how to work with them.&lt;br /&gt;
&lt;br /&gt;
* '''[[File formats description]]'''&lt;br /&gt;
:Description of the format of each file Code::Blocks produces.&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;u&amp;gt;Documentation&amp;lt;/u&amp;gt;'''&lt;br /&gt;
:[https://www.codeblocks.org/manual.shtml User's manual] in various formats and languages.&lt;br /&gt;
:Also see http://developer.berlios.de/projects/codeblocks/ (under the downloads section).&lt;br /&gt;
&lt;br /&gt;
== Plug-In development ==&lt;br /&gt;
&lt;br /&gt;
* [[Creating a simple &amp;quot;Hello World&amp;quot; plugin]]&lt;br /&gt;
* [[Creating a Plug-in which modifies CB's Menus]]&lt;br /&gt;
* [[Creating a plugin that actually does something]]&lt;br /&gt;
* [[Linking the plugin to a Nightly Build]]&lt;br /&gt;
* [[Managing Plug-in Resources]]&lt;br /&gt;
&lt;br /&gt;
* [[Research on doing a Plug-in for embedded help in CB]]&lt;br /&gt;
&lt;br /&gt;
* [[wxSmith extensions]]&lt;br /&gt;
&lt;br /&gt;
== Scripting ==&lt;br /&gt;
&lt;br /&gt;
Using scripting to extend Code::Blocks' functionality&lt;br /&gt;
&lt;br /&gt;
* [[Wizard scripts|Creating a new project wizard]]&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=Nightly_Cookbook&amp;diff=5270</id>
		<title>Nightly Cookbook</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=Nightly_Cookbook&amp;diff=5270"/>
		<updated>2008-01-12T21:55:59Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* wxWidgets */  Updated the wx version and link to download&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is under construction by 'killerbot'. Just be patient, some day it will be finished.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
This article will describe the process used in creating the nightly builds, and can be used as a guideline if you want to build Code::Blocks yourself. It is described as a sequence of 'manual' actions.  While it is possible to automate several of these tasks via script, that is beyond the scope of this article.&lt;br /&gt;
Current limitation : Windows unicode build.&lt;br /&gt;
&lt;br /&gt;
== Shopping List ==&lt;br /&gt;
In order to perform our build tasks, we will need several tools. Let's create an ingredient list for our cooking experiments : &lt;br /&gt;
* a compiler&lt;br /&gt;
* an initial build system&lt;br /&gt;
* the Code::Blocks sources&lt;br /&gt;
* zip program&lt;br /&gt;
* svn (version control system)&lt;br /&gt;
* wxWidgets&lt;br /&gt;
&lt;br /&gt;
While we are at it, maybe someday we want to debug our programs, so let's add a debugger to the list : &lt;br /&gt;
&lt;br /&gt;
* debugger&lt;br /&gt;
&lt;br /&gt;
== Shopping Time ==&lt;br /&gt;
=== Compiler ===&lt;br /&gt;
Let's start by shopping for the first item on our list, a compiler. Several compilers are available; some free, some expensive. Since the Code::Blocks developers build Code::Blocks using GCC, we might as well use that one. It is very standards compliant, though not the fastest one around. GCC on windows is available in several flavors. There are CygWin ports and MingW ports.&lt;br /&gt;
&lt;br /&gt;
The easiest and cleanest port is MinGW. This is the compiler distributed with Code::Blocks when you download the official package (the one including the compiler). We can find MinGW at [http://www.mingw.org www.mingw.org]. [https://wiki.codeblocks.org/index.php?title=MinGW_installation#gcc_3.4.4_manual_install This post] in the wiki describes how to install MinGW. We will stick to version 3.4.5, which works nicely.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
First, a brief explanation of MinGW components:&lt;br /&gt;
* gcc-core : the core of the GCC suite&lt;br /&gt;
* gcc-g++ : the c++ compiler&lt;br /&gt;
* mingw Runtime : implementation of the run time libraries&lt;br /&gt;
* mingw utils : several utilities (implementation of smaller programs that GCC itself uses)&lt;br /&gt;
* win32Api : the APIs for creating Windows programs&lt;br /&gt;
* binutils : several utilities used in build environments&lt;br /&gt;
* make : the Gnu make program, so you can build from make files&lt;br /&gt;
* GDB : the Gnu debugger : for hunting those nasty bugs (version 6.3.2 or above !!!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I would suggest extracting (and installing for the GDB) everything in the C:\MinGW directory. The remainder of this article will assume that this is where you have put it. If you already have an installation of Code::Blocks that came bundled with MinGW (for example RC2), I still advise you to install MinGW as described here. A compiler does not belong under the directory tree of an IDE; they are two separate things. Code::Blocks just brings it along in the official versions so that the average user does not need to bother with this process. But, since you are reading this, you are no longer an average user. :-)&lt;br /&gt;
&lt;br /&gt;
You may need to add the 'bin' directory of your MinGW installation to your path (example : C:\MinGW\bin).  An easy way to do this is with the following command at the command prompt: &lt;br /&gt;
&lt;br /&gt;
set path=%PATH%;C:\MinGW\bin;C:\MinGW\mingw32\bin;&lt;br /&gt;
&lt;br /&gt;
=== Initial Build System ===&lt;br /&gt;
We could try to build Code::Blocks by using makefiles, but there is an easier way: let's build Code::Blocks by using ........ Code::Blocks. All we need to do is get hold of a pre-built version Code::Blocks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
First, download a nightly build.  You can make your selection from [/index.php?board=20.0 here]. The nightly builds are unicode versions, containing the core and contributed plug-ins.&lt;br /&gt;
&lt;br /&gt;
Next, unpack the 7-zip file to any directory you like (e.g. C:\CodeBlocksTempNightly). If you don't have 7-zip, you can download it for free from [http://www.7-zip.org the 7-zip website].&lt;br /&gt;
&lt;br /&gt;
Now, Code::Blocks needs one more dll to work correctly: the WxWidgets dll. You can also download it at the nightly builds forum. Just unzip it into the same directory that you unpacked the Code::Blocks nightly build. It also needs the mingwm10.dll, but don't worry - we already have it. It's in the bin directory of our MinGW installation. So, it's important to make sure the bin directory of your MinGW installation is in your path variable (see above).&lt;br /&gt;
&lt;br /&gt;
Finally, start up this new nightly build of Code::Blocks. It should discover the MinGW compiler we just installed.&lt;br /&gt;
&lt;br /&gt;
== Version Control System ==&lt;br /&gt;
In order to be able to retrieve the latest and greatest Code::Blocks sources, we need to install a Version Control System.&lt;br /&gt;
&lt;br /&gt;
The Code::Blocks developers provide their sources through the SVN version control system. So, we need a client to access their svn repository of sources. A nice, easy client for Windows is TortoiseSVN, which is freely available from [http://tortoisesvn.tigris.org/ here]. Download and install it, keeping all suggested settings.&lt;br /&gt;
&lt;br /&gt;
Now, go create a directory wherever you like, for example D:\projects\CodeBlocks. Right click on that directory and choose from the pop-up menu : svn-checkout. In the dialog that pops up, fill in the following information: &lt;br /&gt;
&lt;br /&gt;
  - Url of Repository : svn://svn.berlios.de/codeblocks/trunk&lt;br /&gt;
  - leave all other settings as they are&lt;br /&gt;
&lt;br /&gt;
Now be patient while TortoiseSVN retrieves the most recent source files from the Code::Blocks repository into our local directory. Yes; all those Code::Blocks sources are coming your way!&lt;br /&gt;
&lt;br /&gt;
For more info on SVN settings, see [http://codeblocks.org/source_code.shtml info on SVN settings]. If you don't like an Explorer integration or look for a cross-plattform client you might want to have a look at [http://rapidsvn.tigris.org/ RapidSVN] (which is btw. also written using wxWidgets).&lt;br /&gt;
&lt;br /&gt;
All righty, time to continue our shopping session.&lt;br /&gt;
&lt;br /&gt;
== wxWidgets ==&lt;br /&gt;
WxWidgets is a platform abstraction that provides an API to support many things such as GUI, sockets, files, registry functionality. By using this API, you can create a platform independent program.&lt;br /&gt;
&lt;br /&gt;
Code::Blocks is a wxWidgets (here after: wx ) application, that means if you want to run Code::Blocks you needed the wx functionality. This can be provided in a couple of ways. It could be a .dll or a static library. Code::Blocks uses wx as a dll and this dll can also be downloaded from the nightly build section of the forum.&lt;br /&gt;
&lt;br /&gt;
However, if we want to build a wx application, we need to include the headers of the wx sources. They tell the compiler about the functionality of wx. In addition to those header files, our application needs to link to the wx import libraries. Well, let's take it step by step. &lt;br /&gt;
&lt;br /&gt;
Wx is provided as a zip file of it's sources, so we need to build that ourselves. We already shopped for the MinGW compiler, so we have all the tools we need at hand.&lt;br /&gt;
&lt;br /&gt;
Download the wx sources (at time of writing : version 2.8.7) [http://internap.dl.sourceforge.net/sourceforge/wxwindows/wxMSW-2.8.7.zip in this .zip here].&lt;br /&gt;
&lt;br /&gt;
Next, let's unzip the wx sources into C:\Projects so we will end up with a wx root directory like this: C:\Projects\wxWidgets-2.8.7. Note that we are going to refer to the wx root directory from now on as &amp;lt;wxDir&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now, we are going to build the wxWidgets. This is how we do it:&lt;br /&gt;
&lt;br /&gt;
First, make sure C:\MingGW\bin is in your path, during the build some programs will be called that reside in the the MinGW\bin directory. Also, Make has to be version 3.80 or above.&lt;br /&gt;
&lt;br /&gt;
Now it is time to compile wxWidgets. Open the command prompt and change to the wxWidgets directory:&lt;br /&gt;
  &amp;lt;tt&amp;gt;cd &amp;lt;wxDir&amp;gt;\build\msw&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We are now in the right place. We are first going to clean up the source:&lt;br /&gt;
  &amp;lt;tt&amp;gt;mingw32-make -f makefile.gcc SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1 clean&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once everything is clean, we can compile wxWidgets:&lt;br /&gt;
  &amp;lt;tt&amp;gt;mingw32-make -f makefile.gcc SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is going to take some time, so go get yourself a nice ice-cream, a beer, ...&lt;br /&gt;
&lt;br /&gt;
 Note: For making the debug build, follow these steps:&lt;br /&gt;
  First clean any previous compilation with:&lt;br /&gt;
   &amp;lt;tt&amp;gt;mingw32-make -f makefile.gcc SHARED=1 MONOLITHIC=1 BUILD=debug UNICODE=1 clean&amp;lt;/tt&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  And then compile with:&lt;br /&gt;
   &amp;lt;tt&amp;gt;mingw32-make -f makefile.gcc SHARED=1 MONOLITHIC=1 BUILD=debug UNICODE=1&amp;lt;/tt&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
   ... If you are not on diet, get another ice-cream, a beer, ....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Did you enjoy your refreshment? Well have a little look in the directory (&amp;lt;wxDir&amp;gt;\lib\gcc_dll) now. The import libraries and the dll have shown up and there should also a mswu\wx subdirectory at that position containing setup.h.&lt;br /&gt;
&lt;br /&gt;
Congratulations! You have just built wxWidgets!&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Let's do some more preliminary tasks before we get to the real deal of compiling Code::Blocks.&lt;br /&gt;
&lt;br /&gt;
== Zip ==&lt;br /&gt;
During the build of Code::Blocks, several resources are going to be zipped in zip files. Therefore, the build process should have access to a zip.exe. We have to download that zip.exe and put it somewhere in our path.  A good place is: MingW\bin.&lt;br /&gt;
&lt;br /&gt;
You can download zip.exe for free from [http://www.info-zip.org/pub/infozip/Zip.html this site] and this is a [http://switch.dl.sourceforge.net/sourceforge/infozip/zip232.zip direct link(32bit)] to the most recent version at the time of this writing. &lt;br /&gt;
&lt;br /&gt;
Once downloaded, simply extract zip.exe to the appropriate location.&lt;br /&gt;
&lt;br /&gt;
== Workspace ==&lt;br /&gt;
This brings us to the last preliminary task. The Code::Blocks code can be divided into 2 major parts: the core with internal plug-ins, and the contributed plug-ins. You always need to build the core/internal parts before building the contrib part. &lt;br /&gt;
&lt;br /&gt;
To build the internal part, you can use the Code::Blocks project file which you can find at: &amp;lt;cbDir&amp;gt;\src\CodeBlocks.cbp. Our Code::Blocks master directory is from now one mentioned as &amp;lt;cbDir&amp;gt;, by the way. A workspace is something that groups several projects together. To build the contrib plug-ins, they can be found at &amp;lt;cbDir&amp;gt;\src\ContribPlugins.workspace.&lt;br /&gt;
&lt;br /&gt;
But, let's create a workspace containing everything. Let's put that workspace in the master directory &amp;lt;cbDir&amp;gt;. Just use a regular text editor and create a file with the name &amp;quot;CbProjects.workspace&amp;quot; and give it the following content : &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot; ?&amp;gt;&lt;br /&gt;
 &amp;lt;CodeBlocks_workspace_file&amp;gt;&lt;br /&gt;
  &amp;lt;Workspace title=&amp;quot;Workspace&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Project filename=&amp;quot;src\CodeBlocks.cbp&amp;quot; active=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;Project filename=&amp;quot;src\plugins\contrib\codestat\codestat.cbp&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;Project filename=&amp;quot;src\plugins\contrib\copystrings\copystrings.cbp&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;Project filename=&amp;quot;src\plugins\contrib\dragscroll\dragscroll.cbp&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;Project filename=&amp;quot;src\plugins\contrib\devpak_plugin\DevPakPlugin.cbp&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;Project filename=&amp;quot;src\plugins\contrib\help_plugin\help-plugin.cbp&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;Project filename=&amp;quot;src\plugins\contrib\keybinder\keybinder.cbp&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;Project filename=&amp;quot;src\plugins\contrib\profiler\cbprofiler.cbp&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;Project filename=&amp;quot;src\plugins\contrib\source_exporter\Exporter.cbp&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;Project filename=&amp;quot;src\plugins\contrib\wxSmith\wxSmith.cbp&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/Workspace&amp;gt;&lt;br /&gt;
 &amp;lt;/CodeBlocks_workspace_file&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We will use this workspace to build all of Code::Blocks.&lt;br /&gt;
&lt;br /&gt;
== Building Code::Blocks ==&lt;br /&gt;
Finally we have arrived at the final step; our final goal. Run the Code::Blocks executable from your nightly build download. Choose Open from the File menu and browse for our above created workspace, and open it up. Be a little patient while Code::Blocks is parsing everything, and Code::Blocks will ask us for 2 global variables, these global variables will tell the nightly Code::Blocks where it can find wxWidgets (remember : header files and import libraries) and where it can find .... Code::Blocks, this is needed for the contrib plug-ins, they need to know (as for any user created plug-in) where the sdk (Code::Blocks header files) are.&lt;br /&gt;
These are the values in our case : &lt;br /&gt;
 - wx : &amp;lt;wxDir&amp;gt;&lt;br /&gt;
 - Code::Blocks (cb) : &amp;lt;cbDir&amp;gt;\src&lt;br /&gt;
&lt;br /&gt;
Now go to the Project Menu and choose (re)build workspace, and off you go. Watch how Code::Blocks is building Code::Blocks.&lt;br /&gt;
&lt;br /&gt;
Once the build is complete, open up a console in &amp;lt;cbDir&amp;gt;\src and run the command &amp;quot;update.bat&amp;quot;. This will transfer all built deliverables from &amp;lt;cbDir&amp;gt;\src\devel to &amp;lt;cbDir&amp;gt;\src\output. In addition, it will strip out all debugging symbols. This step is very important - never ever forget it. &lt;br /&gt;
&lt;br /&gt;
Now you can copy the wx dll in both that output and the devel directory.&lt;br /&gt;
&lt;br /&gt;
Then you can close Code::Blocks. That was the downloaded nightly remember?&lt;br /&gt;
&lt;br /&gt;
Time to test it. In the output directory, start up the CodeBlocks.exe. If everything went well, you'll have your very own home-built Code::Blocks running.&lt;br /&gt;
&lt;br /&gt;
Enjoy !!!&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5109</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5109"/>
		<updated>2007-12-13T21:45:37Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* Buttons Summary */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]], [[User:killerbot|KILLERBOT]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 1.1&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the AutoVersioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Supports C and C++.&lt;br /&gt;
*Generates and auto increment version variables.&lt;br /&gt;
*Software status editor.&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values.&lt;br /&gt;
*Date declarations as month, date and year.&lt;br /&gt;
*Ubuntu style version.&lt;br /&gt;
*Svn revision check.&lt;br /&gt;
*Change log generator.&lt;br /&gt;
*Works on Windows and Linux (doesn't have Mac to test).&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Autoversioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main auto versioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a low quality screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, the settings that you entered on the configuration dialog will be stored on the project file, and a version.h file will be created. For now, every time that you hit the '''Project-&amp;gt;Autoversioning''' menu the configuration dialog will popup to let you edit your project version and versioning related settings, unless you don't save the new changes made by the plugin to the project file.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the auto versioning plugin increment them for you. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0. Put a 0 for unlimited.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum. Put a 0 for unlimited&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme. If not marked only the Build Number and Revision will increment.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Do Auto Increment - this tells the plugin to automatically increment the changes when a modification is made, this incrementation will occur before compilation.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to increment - if marked, ''Do Auto Increment'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a '''ChangesLog.txt''' file.&lt;br /&gt;
&lt;br /&gt;
*Show changes editor when incrementing version - will pop up the changes log editor when incrementing the version.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The generated header file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
This dialog is accessible from the menu '''Project-&amp;gt;Changes Log'''. Also if checked '''Show changes editor when incrementing version''' on the changes log settings, the window will open to let you enter the list of changes after a modification to the project sources or an incrementation event. Below is an  example screen shot: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Buttons Summary===&lt;br /&gt;
*Add - appends a row in to the data grid&lt;br /&gt;
*Edit - enables the modification of the selected cell&lt;br /&gt;
*Delete - removes the current row from the data grid&lt;br /&gt;
*Save - stores into a temporary file (changes.tmp) the actual data for later procesing into the changes log file&lt;br /&gt;
*Write - process the data grid data to the changes log file&lt;br /&gt;
*Cancel - just closes the dialog without taking any action&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the ChangesLog.txt file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5108</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5108"/>
		<updated>2007-12-13T21:45:12Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* Buttons Summary */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]], [[User:killerbot|KILLERBOT]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 1.1&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the AutoVersioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Supports C and C++.&lt;br /&gt;
*Generates and auto increment version variables.&lt;br /&gt;
*Software status editor.&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values.&lt;br /&gt;
*Date declarations as month, date and year.&lt;br /&gt;
*Ubuntu style version.&lt;br /&gt;
*Svn revision check.&lt;br /&gt;
*Change log generator.&lt;br /&gt;
*Works on Windows and Linux (doesn't have Mac to test).&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Autoversioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main auto versioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a low quality screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, the settings that you entered on the configuration dialog will be stored on the project file, and a version.h file will be created. For now, every time that you hit the '''Project-&amp;gt;Autoversioning''' menu the configuration dialog will popup to let you edit your project version and versioning related settings, unless you don't save the new changes made by the plugin to the project file.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the auto versioning plugin increment them for you. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0. Put a 0 for unlimited.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum. Put a 0 for unlimited&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme. If not marked only the Build Number and Revision will increment.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Do Auto Increment - this tells the plugin to automatically increment the changes when a modification is made, this incrementation will occur before compilation.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to increment - if marked, ''Do Auto Increment'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a '''ChangesLog.txt''' file.&lt;br /&gt;
&lt;br /&gt;
*Show changes editor when incrementing version - will pop up the changes log editor when incrementing the version.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The generated header file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
This dialog is accessible from the menu '''Project-&amp;gt;Changes Log'''. Also if checked '''Show changes editor when incrementing version''' on the changes log settings, the window will open to let you enter the list of changes after a modification to the project sources or an incrementation event. Below is an  example screen shot: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Buttons Summary===&lt;br /&gt;
*Add - appends a row in to the data grid&lt;br /&gt;
*Edit - enables the modification of the selected cell&lt;br /&gt;
*Delete - removes the current row from the data grid&lt;br /&gt;
*Save - stores into a temporary file &amp;quot;changes.tmp&amp;quot; the actual data for later procesing into the changes log file&lt;br /&gt;
*Write - process the data grid data to the changes log file&lt;br /&gt;
*Cancel - just closes the dialog without taking any action&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the ChangesLog.txt file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5107</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5107"/>
		<updated>2007-12-13T21:44:50Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* Buttons Summary */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]], [[User:killerbot|KILLERBOT]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 1.1&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the AutoVersioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Supports C and C++.&lt;br /&gt;
*Generates and auto increment version variables.&lt;br /&gt;
*Software status editor.&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values.&lt;br /&gt;
*Date declarations as month, date and year.&lt;br /&gt;
*Ubuntu style version.&lt;br /&gt;
*Svn revision check.&lt;br /&gt;
*Change log generator.&lt;br /&gt;
*Works on Windows and Linux (doesn't have Mac to test).&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Autoversioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main auto versioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a low quality screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, the settings that you entered on the configuration dialog will be stored on the project file, and a version.h file will be created. For now, every time that you hit the '''Project-&amp;gt;Autoversioning''' menu the configuration dialog will popup to let you edit your project version and versioning related settings, unless you don't save the new changes made by the plugin to the project file.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the auto versioning plugin increment them for you. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0. Put a 0 for unlimited.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum. Put a 0 for unlimited&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme. If not marked only the Build Number and Revision will increment.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Do Auto Increment - this tells the plugin to automatically increment the changes when a modification is made, this incrementation will occur before compilation.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to increment - if marked, ''Do Auto Increment'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a '''ChangesLog.txt''' file.&lt;br /&gt;
&lt;br /&gt;
*Show changes editor when incrementing version - will pop up the changes log editor when incrementing the version.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The generated header file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
This dialog is accessible from the menu '''Project-&amp;gt;Changes Log'''. Also if checked '''Show changes editor when incrementing version''' on the changes log settings, the window will open to let you enter the list of changes after a modification to the project sources or an incrementation event. Below is an  example screen shot: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Buttons Summary===&lt;br /&gt;
*Add - appends a row in to the data grid&lt;br /&gt;
*Edit - enables the modification of the selected cell&lt;br /&gt;
*Delete - removes the current row from the data grid&lt;br /&gt;
*Save - stores into a temporary file &amp;quot;changes.tmp&amp;quot; the actual data for later procesing in to the changes log file&lt;br /&gt;
*Write - process the data grid data to the changes log file&lt;br /&gt;
*Cancel - just closes the dialog without taking any action&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the ChangesLog.txt file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5106</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5106"/>
		<updated>2007-12-13T21:44:37Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* Buttons Summary */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]], [[User:killerbot|KILLERBOT]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 1.1&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the AutoVersioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Supports C and C++.&lt;br /&gt;
*Generates and auto increment version variables.&lt;br /&gt;
*Software status editor.&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values.&lt;br /&gt;
*Date declarations as month, date and year.&lt;br /&gt;
*Ubuntu style version.&lt;br /&gt;
*Svn revision check.&lt;br /&gt;
*Change log generator.&lt;br /&gt;
*Works on Windows and Linux (doesn't have Mac to test).&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Autoversioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main auto versioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a low quality screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, the settings that you entered on the configuration dialog will be stored on the project file, and a version.h file will be created. For now, every time that you hit the '''Project-&amp;gt;Autoversioning''' menu the configuration dialog will popup to let you edit your project version and versioning related settings, unless you don't save the new changes made by the plugin to the project file.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the auto versioning plugin increment them for you. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0. Put a 0 for unlimited.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum. Put a 0 for unlimited&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme. If not marked only the Build Number and Revision will increment.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Do Auto Increment - this tells the plugin to automatically increment the changes when a modification is made, this incrementation will occur before compilation.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to increment - if marked, ''Do Auto Increment'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a '''ChangesLog.txt''' file.&lt;br /&gt;
&lt;br /&gt;
*Show changes editor when incrementing version - will pop up the changes log editor when incrementing the version.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The generated header file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
This dialog is accessible from the menu '''Project-&amp;gt;Changes Log'''. Also if checked '''Show changes editor when incrementing version''' on the changes log settings, the window will open to let you enter the list of changes after a modification to the project sources or an incrementation event. Below is an  example screen shot: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Buttons Summary===&lt;br /&gt;
*Add - appends a row in to the data grid&lt;br /&gt;
*Edit - enables the modification of the selected cell&lt;br /&gt;
*Delete - removes the current row from the data grid&lt;br /&gt;
*Save - stores into a temporary files &amp;quot;changes.tmp&amp;quot; the actual data for later procesing in to the changes log file&lt;br /&gt;
*Write - process the data grid data to the changes log file&lt;br /&gt;
*Cancel - just closes the dialog without taking any action&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the ChangesLog.txt file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5105</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5105"/>
		<updated>2007-12-13T21:43:15Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* Buttons Summary */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]], [[User:killerbot|KILLERBOT]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 1.1&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the AutoVersioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Supports C and C++.&lt;br /&gt;
*Generates and auto increment version variables.&lt;br /&gt;
*Software status editor.&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values.&lt;br /&gt;
*Date declarations as month, date and year.&lt;br /&gt;
*Ubuntu style version.&lt;br /&gt;
*Svn revision check.&lt;br /&gt;
*Change log generator.&lt;br /&gt;
*Works on Windows and Linux (doesn't have Mac to test).&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Autoversioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main auto versioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a low quality screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, the settings that you entered on the configuration dialog will be stored on the project file, and a version.h file will be created. For now, every time that you hit the '''Project-&amp;gt;Autoversioning''' menu the configuration dialog will popup to let you edit your project version and versioning related settings, unless you don't save the new changes made by the plugin to the project file.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the auto versioning plugin increment them for you. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0. Put a 0 for unlimited.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum. Put a 0 for unlimited&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme. If not marked only the Build Number and Revision will increment.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Do Auto Increment - this tells the plugin to automatically increment the changes when a modification is made, this incrementation will occur before compilation.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to increment - if marked, ''Do Auto Increment'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a '''ChangesLog.txt''' file.&lt;br /&gt;
&lt;br /&gt;
*Show changes editor when incrementing version - will pop up the changes log editor when incrementing the version.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The generated header file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
This dialog is accessible from the menu '''Project-&amp;gt;Changes Log'''. Also if checked '''Show changes editor when incrementing version''' on the changes log settings, the window will open to let you enter the list of changes after a modification to the project sources or an incrementation event. Below is an  example screen shot: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Buttons Summary===&lt;br /&gt;
*Add - appends a row in to the data grid&lt;br /&gt;
*Edit - enables the modification of the selected cell&lt;br /&gt;
*Delete - removes the current row from the data grid&lt;br /&gt;
*Save - stores the actual data of the data grid for later procesing in to the changes log file&lt;br /&gt;
*Write - process the data grid data to the changes log file&lt;br /&gt;
*Cancel - just closes the dialog without taking any action&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the ChangesLog.txt file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5104</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5104"/>
		<updated>2007-12-13T21:43:05Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* Buttons Summary */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]], [[User:killerbot|KILLERBOT]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 1.1&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the AutoVersioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Supports C and C++.&lt;br /&gt;
*Generates and auto increment version variables.&lt;br /&gt;
*Software status editor.&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values.&lt;br /&gt;
*Date declarations as month, date and year.&lt;br /&gt;
*Ubuntu style version.&lt;br /&gt;
*Svn revision check.&lt;br /&gt;
*Change log generator.&lt;br /&gt;
*Works on Windows and Linux (doesn't have Mac to test).&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Autoversioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main auto versioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a low quality screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, the settings that you entered on the configuration dialog will be stored on the project file, and a version.h file will be created. For now, every time that you hit the '''Project-&amp;gt;Autoversioning''' menu the configuration dialog will popup to let you edit your project version and versioning related settings, unless you don't save the new changes made by the plugin to the project file.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the auto versioning plugin increment them for you. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0. Put a 0 for unlimited.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum. Put a 0 for unlimited&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme. If not marked only the Build Number and Revision will increment.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Do Auto Increment - this tells the plugin to automatically increment the changes when a modification is made, this incrementation will occur before compilation.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to increment - if marked, ''Do Auto Increment'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a '''ChangesLog.txt''' file.&lt;br /&gt;
&lt;br /&gt;
*Show changes editor when incrementing version - will pop up the changes log editor when incrementing the version.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The generated header file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
This dialog is accessible from the menu '''Project-&amp;gt;Changes Log'''. Also if checked '''Show changes editor when incrementing version''' on the changes log settings, the window will open to let you enter the list of changes after a modification to the project sources or an incrementation event. Below is an  example screen shot: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Buttons Summary===&lt;br /&gt;
*Add - appends a row in to the data grid&lt;br /&gt;
*Edit - enables the modification of the selected cell&lt;br /&gt;
*Delete - removes the current row from the data grid&lt;br /&gt;
*Save - stores the actual data of the data grid for later procesing in to the changes log file&lt;br /&gt;
*Write - process the data grid data to the changes log file&lt;br /&gt;
*Cancel - just closes the dialog without taking any action&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the ChangesLog.txt file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5103</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5103"/>
		<updated>2007-12-13T21:42:37Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* Change log generator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]], [[User:killerbot|KILLERBOT]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 1.1&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the AutoVersioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Supports C and C++.&lt;br /&gt;
*Generates and auto increment version variables.&lt;br /&gt;
*Software status editor.&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values.&lt;br /&gt;
*Date declarations as month, date and year.&lt;br /&gt;
*Ubuntu style version.&lt;br /&gt;
*Svn revision check.&lt;br /&gt;
*Change log generator.&lt;br /&gt;
*Works on Windows and Linux (doesn't have Mac to test).&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Autoversioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main auto versioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a low quality screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, the settings that you entered on the configuration dialog will be stored on the project file, and a version.h file will be created. For now, every time that you hit the '''Project-&amp;gt;Autoversioning''' menu the configuration dialog will popup to let you edit your project version and versioning related settings, unless you don't save the new changes made by the plugin to the project file.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the auto versioning plugin increment them for you. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0. Put a 0 for unlimited.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum. Put a 0 for unlimited&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme. If not marked only the Build Number and Revision will increment.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Do Auto Increment - this tells the plugin to automatically increment the changes when a modification is made, this incrementation will occur before compilation.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to increment - if marked, ''Do Auto Increment'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a '''ChangesLog.txt''' file.&lt;br /&gt;
&lt;br /&gt;
*Show changes editor when incrementing version - will pop up the changes log editor when incrementing the version.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The generated header file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
This dialog is accessible from the menu '''Project-&amp;gt;Changes Log'''. Also if checked '''Show changes editor when incrementing version''' on the changes log settings, the window will open to let you enter the list of changes after a modification to the project sources or an incrementation event. Below is an  example screen shot: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Buttons Summary===&lt;br /&gt;
*Add - appends a row in to the data grid&lt;br /&gt;
*Edit - enables the modification of the selected cell&lt;br /&gt;
*Delete - removes the current row from the data grid&lt;br /&gt;
*Save - stores the actual data of the data grid for later procesing in to the changes log file&lt;br /&gt;
*Write - process the data grid data to the changes log file&lt;br /&gt;
*Cancel - just closes the dialog without taking any action&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the ChangesLog.txt file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5102</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5102"/>
		<updated>2007-12-13T21:40:07Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* Change log generator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]], [[User:killerbot|KILLERBOT]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 1.1&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the AutoVersioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Supports C and C++.&lt;br /&gt;
*Generates and auto increment version variables.&lt;br /&gt;
*Software status editor.&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values.&lt;br /&gt;
*Date declarations as month, date and year.&lt;br /&gt;
*Ubuntu style version.&lt;br /&gt;
*Svn revision check.&lt;br /&gt;
*Change log generator.&lt;br /&gt;
*Works on Windows and Linux (doesn't have Mac to test).&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Autoversioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main auto versioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a low quality screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, the settings that you entered on the configuration dialog will be stored on the project file, and a version.h file will be created. For now, every time that you hit the '''Project-&amp;gt;Autoversioning''' menu the configuration dialog will popup to let you edit your project version and versioning related settings, unless you don't save the new changes made by the plugin to the project file.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the auto versioning plugin increment them for you. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0. Put a 0 for unlimited.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum. Put a 0 for unlimited&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme. If not marked only the Build Number and Revision will increment.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Do Auto Increment - this tells the plugin to automatically increment the changes when a modification is made, this incrementation will occur before compilation.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to increment - if marked, ''Do Auto Increment'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a '''ChangesLog.txt''' file.&lt;br /&gt;
&lt;br /&gt;
*Show changes editor when incrementing version - will pop up the changes log editor when incrementing the version.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The generated header file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
This dialog is accessible from the menu '''Project-&amp;gt;Changes Log'''. Also if checked '''Show changes editor when incrementing version''' on the changes log settings, the window will open to let you enter the list of changes after a modification to the project sources or an incrementation event. Below is an  example screen shot: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Buttons Summary===&lt;br /&gt;
Add - Appends a row in to the data grid&lt;br /&gt;
Edit - Enables the modification of the selected cell&lt;br /&gt;
Delete - Removes the current row from the data grid&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the ChangesLog.txt file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5101</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5101"/>
		<updated>2007-12-13T21:33:51Z</updated>

		<summary type="html">&lt;p&gt;Jgm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]], [[User:killerbot|KILLERBOT]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 1.1&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the AutoVersioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Supports C and C++.&lt;br /&gt;
*Generates and auto increment version variables.&lt;br /&gt;
*Software status editor.&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values.&lt;br /&gt;
*Date declarations as month, date and year.&lt;br /&gt;
*Ubuntu style version.&lt;br /&gt;
*Svn revision check.&lt;br /&gt;
*Change log generator.&lt;br /&gt;
*Works on Windows and Linux (doesn't have Mac to test).&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Autoversioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main auto versioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a low quality screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, the settings that you entered on the configuration dialog will be stored on the project file, and a version.h file will be created. For now, every time that you hit the '''Project-&amp;gt;Autoversioning''' menu the configuration dialog will popup to let you edit your project version and versioning related settings, unless you don't save the new changes made by the plugin to the project file.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the auto versioning plugin increment them for you. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0. Put a 0 for unlimited.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum. Put a 0 for unlimited&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme. If not marked only the Build Number and Revision will increment.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Do Auto Increment - this tells the plugin to automatically increment the changes when a modification is made, this incrementation will occur before compilation.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to increment - if marked, ''Do Auto Increment'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a '''ChangesLog.txt''' file.&lt;br /&gt;
&lt;br /&gt;
*Show changes editor when incrementing version - will pop up the changes log editor when incrementing the version.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The generated header file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
This dialog is accessible from the menu '''Project-&amp;gt;Changes Log'''. Also if checked '''Show changes editor when incrementing version''' on the changes log settings, the window will open to let you enter the list of changes after a modification to the project sources or an incrementation event. Below is an  example screen shot: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the ChangesLog.txt file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5100</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5100"/>
		<updated>2007-12-13T21:33:34Z</updated>

		<summary type="html">&lt;p&gt;Jgm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]]/[[User:killerbot|KILLERBOT]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 1.1&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the AutoVersioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Supports C and C++.&lt;br /&gt;
*Generates and auto increment version variables.&lt;br /&gt;
*Software status editor.&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values.&lt;br /&gt;
*Date declarations as month, date and year.&lt;br /&gt;
*Ubuntu style version.&lt;br /&gt;
*Svn revision check.&lt;br /&gt;
*Change log generator.&lt;br /&gt;
*Works on Windows and Linux (doesn't have Mac to test).&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Autoversioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main auto versioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a low quality screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, the settings that you entered on the configuration dialog will be stored on the project file, and a version.h file will be created. For now, every time that you hit the '''Project-&amp;gt;Autoversioning''' menu the configuration dialog will popup to let you edit your project version and versioning related settings, unless you don't save the new changes made by the plugin to the project file.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the auto versioning plugin increment them for you. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0. Put a 0 for unlimited.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum. Put a 0 for unlimited&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme. If not marked only the Build Number and Revision will increment.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Do Auto Increment - this tells the plugin to automatically increment the changes when a modification is made, this incrementation will occur before compilation.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to increment - if marked, ''Do Auto Increment'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a '''ChangesLog.txt''' file.&lt;br /&gt;
&lt;br /&gt;
*Show changes editor when incrementing version - will pop up the changes log editor when incrementing the version.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The generated header file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
This dialog is accessible from the menu '''Project-&amp;gt;Changes Log'''. Also if checked '''Show changes editor when incrementing version''' on the changes log settings, the window will open to let you enter the list of changes after a modification to the project sources or an incrementation event. Below is an  example screen shot: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the ChangesLog.txt file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5099</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5099"/>
		<updated>2007-12-13T21:32:44Z</updated>

		<summary type="html">&lt;p&gt;Jgm: changed developers info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM][User:killerbot|KILLERBOT]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 1.1&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the AutoVersioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Supports C and C++.&lt;br /&gt;
*Generates and auto increment version variables.&lt;br /&gt;
*Software status editor.&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values.&lt;br /&gt;
*Date declarations as month, date and year.&lt;br /&gt;
*Ubuntu style version.&lt;br /&gt;
*Svn revision check.&lt;br /&gt;
*Change log generator.&lt;br /&gt;
*Works on Windows and Linux (doesn't have Mac to test).&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Autoversioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main auto versioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a low quality screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, the settings that you entered on the configuration dialog will be stored on the project file, and a version.h file will be created. For now, every time that you hit the '''Project-&amp;gt;Autoversioning''' menu the configuration dialog will popup to let you edit your project version and versioning related settings, unless you don't save the new changes made by the plugin to the project file.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the auto versioning plugin increment them for you. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0. Put a 0 for unlimited.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum. Put a 0 for unlimited&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme. If not marked only the Build Number and Revision will increment.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Do Auto Increment - this tells the plugin to automatically increment the changes when a modification is made, this incrementation will occur before compilation.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to increment - if marked, ''Do Auto Increment'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a '''ChangesLog.txt''' file.&lt;br /&gt;
&lt;br /&gt;
*Show changes editor when incrementing version - will pop up the changes log editor when incrementing the version.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The generated header file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
This dialog is accessible from the menu '''Project-&amp;gt;Changes Log'''. Also if checked '''Show changes editor when incrementing version''' on the changes log settings, the window will open to let you enter the list of changes after a modification to the project sources or an incrementation event. Below is an  example screen shot: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the ChangesLog.txt file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5098</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5098"/>
		<updated>2007-12-13T21:31:30Z</updated>

		<summary type="html">&lt;p&gt;Jgm: changed version info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 1.1&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the AutoVersioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Supports C and C++.&lt;br /&gt;
*Generates and auto increment version variables.&lt;br /&gt;
*Software status editor.&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values.&lt;br /&gt;
*Date declarations as month, date and year.&lt;br /&gt;
*Ubuntu style version.&lt;br /&gt;
*Svn revision check.&lt;br /&gt;
*Change log generator.&lt;br /&gt;
*Works on Windows and Linux (doesn't have Mac to test).&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Autoversioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main auto versioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a low quality screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, the settings that you entered on the configuration dialog will be stored on the project file, and a version.h file will be created. For now, every time that you hit the '''Project-&amp;gt;Autoversioning''' menu the configuration dialog will popup to let you edit your project version and versioning related settings, unless you don't save the new changes made by the plugin to the project file.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the auto versioning plugin increment them for you. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0. Put a 0 for unlimited.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum. Put a 0 for unlimited&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme. If not marked only the Build Number and Revision will increment.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Do Auto Increment - this tells the plugin to automatically increment the changes when a modification is made, this incrementation will occur before compilation.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to increment - if marked, ''Do Auto Increment'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a '''ChangesLog.txt''' file.&lt;br /&gt;
&lt;br /&gt;
*Show changes editor when incrementing version - will pop up the changes log editor when incrementing the version.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The generated header file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
This dialog is accessible from the menu '''Project-&amp;gt;Changes Log'''. Also if checked '''Show changes editor when incrementing version''' on the changes log settings, the window will open to let you enter the list of changes after a modification to the project sources or an incrementation event. Below is an  example screen shot: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the ChangesLog.txt file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5097</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5097"/>
		<updated>2007-12-13T21:30:50Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* Change log generator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 0.9&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the AutoVersioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Supports C and C++.&lt;br /&gt;
*Generates and auto increment version variables.&lt;br /&gt;
*Software status editor.&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values.&lt;br /&gt;
*Date declarations as month, date and year.&lt;br /&gt;
*Ubuntu style version.&lt;br /&gt;
*Svn revision check.&lt;br /&gt;
*Change log generator.&lt;br /&gt;
*Works on Windows and Linux (doesn't have Mac to test).&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Autoversioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main auto versioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a low quality screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, the settings that you entered on the configuration dialog will be stored on the project file, and a version.h file will be created. For now, every time that you hit the '''Project-&amp;gt;Autoversioning''' menu the configuration dialog will popup to let you edit your project version and versioning related settings, unless you don't save the new changes made by the plugin to the project file.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the auto versioning plugin increment them for you. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0. Put a 0 for unlimited.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum. Put a 0 for unlimited&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme. If not marked only the Build Number and Revision will increment.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Do Auto Increment - this tells the plugin to automatically increment the changes when a modification is made, this incrementation will occur before compilation.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to increment - if marked, ''Do Auto Increment'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a '''ChangesLog.txt''' file.&lt;br /&gt;
&lt;br /&gt;
*Show changes editor when incrementing version - will pop up the changes log editor when incrementing the version.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The generated header file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
This dialog is accessible from the menu '''Project-&amp;gt;Changes Log'''. Also if checked '''Show changes editor when incrementing version''' on the changes log settings, the window will open to let you enter the list of changes after a modification to the project sources or an incrementation event. Below is an  example screen shot: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the ChangesLog.txt file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5096</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5096"/>
		<updated>2007-12-13T21:28:17Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* Change log generator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 0.9&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the AutoVersioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Supports C and C++.&lt;br /&gt;
*Generates and auto increment version variables.&lt;br /&gt;
*Software status editor.&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values.&lt;br /&gt;
*Date declarations as month, date and year.&lt;br /&gt;
*Ubuntu style version.&lt;br /&gt;
*Svn revision check.&lt;br /&gt;
*Change log generator.&lt;br /&gt;
*Works on Windows and Linux (doesn't have Mac to test).&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Autoversioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main auto versioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a low quality screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, the settings that you entered on the configuration dialog will be stored on the project file, and a version.h file will be created. For now, every time that you hit the '''Project-&amp;gt;Autoversioning''' menu the configuration dialog will popup to let you edit your project version and versioning related settings, unless you don't save the new changes made by the plugin to the project file.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the auto versioning plugin increment them for you. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0. Put a 0 for unlimited.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum. Put a 0 for unlimited&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme. If not marked only the Build Number and Revision will increment.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Do Auto Increment - this tells the plugin to automatically increment the changes when a modification is made, this incrementation will occur before compilation.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to increment - if marked, ''Do Auto Increment'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a '''ChangesLog.txt''' file.&lt;br /&gt;
&lt;br /&gt;
*Show changes editor when incrementing version - will pop up the changes log editor when incrementing the version.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The generated header file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
This dialog is accessible from the menu '''Project-&amp;gt;Changes Log'''. Also if checked '''Show changes editor when incrementing version''' on the changes log settings, the window will open to let you enter the list of changes after a modification to the project sources or an incrementation event. Below is an  example screen shot: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the CHANGES.txt file created next to your project file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5095</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5095"/>
		<updated>2007-12-13T21:28:05Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* Change log generator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 0.9&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the AutoVersioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Supports C and C++.&lt;br /&gt;
*Generates and auto increment version variables.&lt;br /&gt;
*Software status editor.&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values.&lt;br /&gt;
*Date declarations as month, date and year.&lt;br /&gt;
*Ubuntu style version.&lt;br /&gt;
*Svn revision check.&lt;br /&gt;
*Change log generator.&lt;br /&gt;
*Works on Windows and Linux (doesn't have Mac to test).&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Autoversioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main auto versioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a low quality screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, the settings that you entered on the configuration dialog will be stored on the project file, and a version.h file will be created. For now, every time that you hit the '''Project-&amp;gt;Autoversioning''' menu the configuration dialog will popup to let you edit your project version and versioning related settings, unless you don't save the new changes made by the plugin to the project file.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the auto versioning plugin increment them for you. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0. Put a 0 for unlimited.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum. Put a 0 for unlimited&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme. If not marked only the Build Number and Revision will increment.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Do Auto Increment - this tells the plugin to automatically increment the changes when a modification is made, this incrementation will occur before compilation.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to increment - if marked, ''Do Auto Increment'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a '''ChangesLog.txt''' file.&lt;br /&gt;
&lt;br /&gt;
*Show changes editor when incrementing version - will pop up the changes log editor when incrementing the version.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The generated header file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
This dialog is accessible from the menu '''Project-&amp;gt;Changes Log''' Also if checked '''Show changes editor when incrementing version''' on the changes log settings, the window will open to let you enter the list of changes after a modification to the project sources or an incrementation event. Below is an  example screen shot: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the CHANGES.txt file created next to your project file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5094</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5094"/>
		<updated>2007-12-13T21:26:25Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* Changes Log */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 0.9&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the AutoVersioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Supports C and C++.&lt;br /&gt;
*Generates and auto increment version variables.&lt;br /&gt;
*Software status editor.&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values.&lt;br /&gt;
*Date declarations as month, date and year.&lt;br /&gt;
*Ubuntu style version.&lt;br /&gt;
*Svn revision check.&lt;br /&gt;
*Change log generator.&lt;br /&gt;
*Works on Windows and Linux (doesn't have Mac to test).&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Autoversioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main auto versioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a low quality screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, the settings that you entered on the configuration dialog will be stored on the project file, and a version.h file will be created. For now, every time that you hit the '''Project-&amp;gt;Autoversioning''' menu the configuration dialog will popup to let you edit your project version and versioning related settings, unless you don't save the new changes made by the plugin to the project file.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the auto versioning plugin increment them for you. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0. Put a 0 for unlimited.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum. Put a 0 for unlimited&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme. If not marked only the Build Number and Revision will increment.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Do Auto Increment - this tells the plugin to automatically increment the changes when a modification is made, this incrementation will occur before compilation.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to increment - if marked, ''Do Auto Increment'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a '''ChangesLog.txt''' file.&lt;br /&gt;
&lt;br /&gt;
*Show changes editor when incrementing version - will pop up the changes log editor when incrementing the version.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The generated header file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
This dialog is accessible from the menu '''Project-&amp;gt;Changes Log''' Also if checked '''Show changes editor when incrementing version''' the window will open to let you enter the list of changes after a modification to the project sources or an incrementation event. Below is an  example screen shot: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the CHANGES.txt file created next to your project file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5093</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5093"/>
		<updated>2007-12-13T21:21:06Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* Output of version.h */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 0.9&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the AutoVersioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Supports C and C++.&lt;br /&gt;
*Generates and auto increment version variables.&lt;br /&gt;
*Software status editor.&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values.&lt;br /&gt;
*Date declarations as month, date and year.&lt;br /&gt;
*Ubuntu style version.&lt;br /&gt;
*Svn revision check.&lt;br /&gt;
*Change log generator.&lt;br /&gt;
*Works on Windows and Linux (doesn't have Mac to test).&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Autoversioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main auto versioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a low quality screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, the settings that you entered on the configuration dialog will be stored on the project file, and a version.h file will be created. For now, every time that you hit the '''Project-&amp;gt;Autoversioning''' menu the configuration dialog will popup to let you edit your project version and versioning related settings, unless you don't save the new changes made by the plugin to the project file.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the auto versioning plugin increment them for you. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0. Put a 0 for unlimited.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum. Put a 0 for unlimited&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme. If not marked only the Build Number and Revision will increment.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Do Auto Increment - this tells the plugin to automatically increment the changes when a modification is made, this incrementation will occur before compilation.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to increment - if marked, ''Do Auto Increment'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a CHANGES.txt next to your project  file.&lt;br /&gt;
&lt;br /&gt;
*Show changes editor when incrementing version - will pop up the changeslog editor when incrementing the version.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The generated header file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
This dialog is accessible from the menu '''Project-&amp;gt;Changes Log''' Also if checked '''Show changes editor when incrementing version''' the window will open to let you enter the list of changes after a modification to the project sources or an incrementation event. Below is an  example screen shot: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the CHANGES.txt file created next to your project file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5092</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5092"/>
		<updated>2007-12-13T21:19:45Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* Change log generator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 0.9&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the AutoVersioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Supports C and C++.&lt;br /&gt;
*Generates and auto increment version variables.&lt;br /&gt;
*Software status editor.&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values.&lt;br /&gt;
*Date declarations as month, date and year.&lt;br /&gt;
*Ubuntu style version.&lt;br /&gt;
*Svn revision check.&lt;br /&gt;
*Change log generator.&lt;br /&gt;
*Works on Windows and Linux (doesn't have Mac to test).&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Autoversioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main auto versioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a low quality screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, the settings that you entered on the configuration dialog will be stored on the project file, and a version.h file will be created. For now, every time that you hit the '''Project-&amp;gt;Autoversioning''' menu the configuration dialog will popup to let you edit your project version and versioning related settings, unless you don't save the new changes made by the plugin to the project file.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the auto versioning plugin increment them for you. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0. Put a 0 for unlimited.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum. Put a 0 for unlimited&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme. If not marked only the Build Number and Revision will increment.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Do Auto Increment - this tells the plugin to automatically increment the changes when a modification is made, this incrementation will occur before compilation.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to increment - if marked, ''Do Auto Increment'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a CHANGES.txt next to your project  file.&lt;br /&gt;
&lt;br /&gt;
*Show changes editor when incrementing version - will pop up the changeslog editor when incrementing the version.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The header '''version.h''' is generated next to your project file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
This dialog is accessible from the menu '''Project-&amp;gt;Changes Log''' Also if checked '''Show changes editor when incrementing version''' the window will open to let you enter the list of changes after a modification to the project sources or an incrementation event. Below is an  example screen shot: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the CHANGES.txt file created next to your project file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5091</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5091"/>
		<updated>2007-12-13T21:19:06Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* Change log generator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 0.9&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the AutoVersioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Supports C and C++.&lt;br /&gt;
*Generates and auto increment version variables.&lt;br /&gt;
*Software status editor.&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values.&lt;br /&gt;
*Date declarations as month, date and year.&lt;br /&gt;
*Ubuntu style version.&lt;br /&gt;
*Svn revision check.&lt;br /&gt;
*Change log generator.&lt;br /&gt;
*Works on Windows and Linux (doesn't have Mac to test).&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Autoversioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main auto versioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a low quality screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, the settings that you entered on the configuration dialog will be stored on the project file, and a version.h file will be created. For now, every time that you hit the '''Project-&amp;gt;Autoversioning''' menu the configuration dialog will popup to let you edit your project version and versioning related settings, unless you don't save the new changes made by the plugin to the project file.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the auto versioning plugin increment them for you. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0. Put a 0 for unlimited.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum. Put a 0 for unlimited&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme. If not marked only the Build Number and Revision will increment.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Do Auto Increment - this tells the plugin to automatically increment the changes when a modification is made, this incrementation will occur before compilation.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to increment - if marked, ''Do Auto Increment'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a CHANGES.txt next to your project  file.&lt;br /&gt;
&lt;br /&gt;
*Show changes editor when incrementing version - will pop up the changeslog editor when incrementing the version.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The header '''version.h''' is generated next to your project file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
This dialog is accessible from the menu 'Project-&amp;gt;Changes Log' Also if checked 'Show changes editor when incrementing version' the window will open to let you enter the list of changes after a modification to the project sources or an incrementation event. Below is an  example screen shot: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the CHANGES.txt file created next to your project file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5090</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5090"/>
		<updated>2007-12-13T21:16:07Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* Change log generator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 0.9&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the AutoVersioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Supports C and C++.&lt;br /&gt;
*Generates and auto increment version variables.&lt;br /&gt;
*Software status editor.&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values.&lt;br /&gt;
*Date declarations as month, date and year.&lt;br /&gt;
*Ubuntu style version.&lt;br /&gt;
*Svn revision check.&lt;br /&gt;
*Change log generator.&lt;br /&gt;
*Works on Windows and Linux (doesn't have Mac to test).&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Autoversioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main auto versioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a low quality screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, the settings that you entered on the configuration dialog will be stored on the project file, and a version.h file will be created. For now, every time that you hit the '''Project-&amp;gt;Autoversioning''' menu the configuration dialog will popup to let you edit your project version and versioning related settings, unless you don't save the new changes made by the plugin to the project file.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the auto versioning plugin increment them for you. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0. Put a 0 for unlimited.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum. Put a 0 for unlimited&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme. If not marked only the Build Number and Revision will increment.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Do Auto Increment - this tells the plugin to automatically increment the changes when a modification is made, this incrementation will occur before compilation.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to increment - if marked, ''Do Auto Increment'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a CHANGES.txt next to your project  file.&lt;br /&gt;
&lt;br /&gt;
*Show changes editor when incrementing version - will pop up the changeslog editor when incrementing the version.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The header '''version.h''' is generated next to your project file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
After checking the option Generate changes log on the configuration dialog of auto versioning, a window will open to let you enter the list of changes after a modification to the project sources or an incrementation event. Below is an  example screen shot: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the CHANGES.txt file created next to your project file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5089</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5089"/>
		<updated>2007-12-13T21:15:14Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* Changes Log */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 0.9&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the AutoVersioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Supports C and C++.&lt;br /&gt;
*Generates and auto increment version variables.&lt;br /&gt;
*Software status editor.&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values.&lt;br /&gt;
*Date declarations as month, date and year.&lt;br /&gt;
*Ubuntu style version.&lt;br /&gt;
*Svn revision check.&lt;br /&gt;
*Change log generator.&lt;br /&gt;
*Works on Windows and Linux (doesn't have Mac to test).&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Autoversioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main auto versioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a low quality screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, the settings that you entered on the configuration dialog will be stored on the project file, and a version.h file will be created. For now, every time that you hit the '''Project-&amp;gt;Autoversioning''' menu the configuration dialog will popup to let you edit your project version and versioning related settings, unless you don't save the new changes made by the plugin to the project file.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the auto versioning plugin increment them for you. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0. Put a 0 for unlimited.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum. Put a 0 for unlimited&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme. If not marked only the Build Number and Revision will increment.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Do Auto Increment - this tells the plugin to automatically increment the changes when a modification is made, this incrementation will occur before compilation.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to increment - if marked, ''Do Auto Increment'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a CHANGES.txt next to your project  file.&lt;br /&gt;
&lt;br /&gt;
*Show changes editor when incrementing version - will pop up the changeslog editor when incrementing the version.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The header '''version.h''' is generated next to your project file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
After checking the option Generate changes log on the configuration dialog of auto versioning, a window will open to let you enter the list of changes after a modification to the project sources or a Commit Changes event. Below is an  example screen shot: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the CHANGES.txt file created next to your project file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5088</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5088"/>
		<updated>2007-12-13T21:13:57Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* Settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 0.9&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the AutoVersioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Supports C and C++.&lt;br /&gt;
*Generates and auto increment version variables.&lt;br /&gt;
*Software status editor.&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values.&lt;br /&gt;
*Date declarations as month, date and year.&lt;br /&gt;
*Ubuntu style version.&lt;br /&gt;
*Svn revision check.&lt;br /&gt;
*Change log generator.&lt;br /&gt;
*Works on Windows and Linux (doesn't have Mac to test).&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Autoversioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main auto versioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a low quality screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, the settings that you entered on the configuration dialog will be stored on the project file, and a version.h file will be created. For now, every time that you hit the '''Project-&amp;gt;Autoversioning''' menu the configuration dialog will popup to let you edit your project version and versioning related settings, unless you don't save the new changes made by the plugin to the project file.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the auto versioning plugin increment them for you. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0. Put a 0 for unlimited.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum. Put a 0 for unlimited&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme. If not marked only the Build Number and Revision will increment.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Do Auto Increment - this tells the plugin to automatically increment the changes when a modification is made, this incrementation will occur before compilation.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to increment - if marked, ''Do Auto Increment'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a CHANGES.txt next to your project  file.&lt;br /&gt;
&lt;br /&gt;
*Generate changes log - Enables this feature.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The header '''version.h''' is generated next to your project file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
After checking the option Generate changes log on the configuration dialog of auto versioning, a window will open to let you enter the list of changes after a modification to the project sources or a Commit Changes event. Below is an  example screen shot: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the CHANGES.txt file created next to your project file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5087</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5087"/>
		<updated>2007-12-13T21:09:03Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* Usage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 0.9&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the AutoVersioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Supports C and C++.&lt;br /&gt;
*Generates and auto increment version variables.&lt;br /&gt;
*Software status editor.&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values.&lt;br /&gt;
*Date declarations as month, date and year.&lt;br /&gt;
*Ubuntu style version.&lt;br /&gt;
*Svn revision check.&lt;br /&gt;
*Change log generator.&lt;br /&gt;
*Works on Windows and Linux (doesn't have Mac to test).&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Autoversioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main auto versioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a low quality screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, the settings that you entered on the configuration dialog will be stored on the project file, and a version.h file will be created. For now, every time that you hit the '''Project-&amp;gt;Autoversioning''' menu the configuration dialog will popup to let you edit your project version and versioning related settings, unless you don't save the new changes made by the plugin to the project file.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the auto versioning plugin increment them for you. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0. Put a 0 for unlimited.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum. Put a 0 for unlimited&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme. If not marked only the Build Number and Revision will increment.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Commit Changes - to increment the changes using the scheme when you feel that is the right moment, just using the menu '''Project-&amp;gt;Commit Changes'''. This will increment the version values.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to commit changes - if marked ''Commit Changes'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a CHANGES.txt next to your project  file.&lt;br /&gt;
&lt;br /&gt;
*Generate changes log - Enables this feature.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The header '''version.h''' is generated next to your project file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
After checking the option Generate changes log on the configuration dialog of auto versioning, a window will open to let you enter the list of changes after a modification to the project sources or a Commit Changes event. Below is an  example screen shot: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the CHANGES.txt file created next to your project file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5011</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5011"/>
		<updated>2007-10-12T02:51:10Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* Usage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 0.9&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the AutoVersioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Supports C and C++.&lt;br /&gt;
*Generates and auto increment version variables.&lt;br /&gt;
*Software status editor.&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values.&lt;br /&gt;
*Date declarations as month, date and year.&lt;br /&gt;
*Ubuntu style version.&lt;br /&gt;
*Svn revision check.&lt;br /&gt;
*Change log generator.&lt;br /&gt;
*Works on Windows and Linux (doesn't have Mac to test).&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Autoversioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main auto versioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, a version.ini (for the settings that you entered on the configuration dialog) and version.h files will be created next to your project file. For now, everytime that you hit the '''Project-&amp;gt;Auto Versioning''' menu the configuration dialog will popup to let you edit your project version and versioning related settings, unless you delete the version.ini that has all the configurations.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the auto versioning plugin increment them for you. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0. Put a 0 for unlimited.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum. Put a 0 for unlimited&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme. If not marked only the Build Number and Revision will increment.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Commit Changes - to increment the changes using the scheme when you feel that is the right moment, just using the menu '''Project-&amp;gt;Commit Changes'''. This will increment the version values.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to commit changes - if marked ''Commit Changes'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a CHANGES.txt next to your project  file.&lt;br /&gt;
&lt;br /&gt;
*Generate changes log - Enables this feature.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The header '''version.h''' is generated next to your project file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
After checking the option Generate changes log on the configuration dialog of auto versioning, a window will open to let you enter the list of changes after a modification to the project sources or a Commit Changes event. Below is an  example screen shot: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the CHANGES.txt file created next to your project file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5010</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5010"/>
		<updated>2007-10-10T22:55:45Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* Output of version.h */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 0.9&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the AutoVersioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Supports C and C++.&lt;br /&gt;
*Generates and auto increment version variables.&lt;br /&gt;
*Software status editor.&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values.&lt;br /&gt;
*Date declarations as month, date and year.&lt;br /&gt;
*Ubuntu style version.&lt;br /&gt;
*Svn revision check.&lt;br /&gt;
*Change log generator.&lt;br /&gt;
*Works on Windows and Linux (doesn't have Mac to test).&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Auto Versioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main auto versioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, a version.ini (for the settings that you entered on the configuration dialog) and version.h files will be created next to your project file. For now, everytime that you hit the '''Project-&amp;gt;Auto Versioning''' menu the configuration dialog will popup to let you edit your project version and versioning related settings, unless you delete the version.ini that has all the configurations.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the auto versioning plugin increment them for you. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0. Put a 0 for unlimited.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum. Put a 0 for unlimited&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme. If not marked only the Build Number and Revision will increment.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Commit Changes - to increment the changes using the scheme when you feel that is the right moment, just using the menu '''Project-&amp;gt;Commit Changes'''. This will increment the version values.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to commit changes - if marked ''Commit Changes'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a CHANGES.txt next to your project  file.&lt;br /&gt;
&lt;br /&gt;
*Generate changes log - Enables this feature.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The header '''version.h''' is generated next to your project file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static const char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static const char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static const char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static const double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static const char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static const char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static const long MAJOR = 0;&lt;br /&gt;
	static const long MINOR = 10;&lt;br /&gt;
	static const long BUILD = 1086;&lt;br /&gt;
	static const long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static const long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static const char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
After checking the option Generate changes log on the configuration dialog of auto versioning, a window will open to let you enter the list of changes after a modification to the project sources or a Commit Changes event. Below is an  example screen shot: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the CHANGES.txt file created next to your project file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5008</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5008"/>
		<updated>2007-10-09T01:56:18Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 0.9&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the AutoVersioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Supports C and C++.&lt;br /&gt;
*Generates and auto increment version variables.&lt;br /&gt;
*Software status editor.&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values.&lt;br /&gt;
*Date declarations as month, date and year.&lt;br /&gt;
*Ubuntu style version.&lt;br /&gt;
*Svn revision check.&lt;br /&gt;
*Change log generator.&lt;br /&gt;
*Works on Windows and Linux (doesn't have Mac to test).&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Auto Versioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main auto versioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, a version.ini (for the settings that you entered on the configuration dialog) and version.h files will be created next to your project file. For now, everytime that you hit the '''Project-&amp;gt;Auto Versioning''' menu the configuration dialog will popup to let you edit your project version and versioning related settings, unless you delete the version.ini that has all the configurations.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the auto versioning plugin increment them for you. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0. Put a 0 for unlimited.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum. Put a 0 for unlimited&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme. If not marked only the Build Number and Revision will increment.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Commit Changes - to increment the changes using the scheme when you feel that is the right moment, just using the menu '''Project-&amp;gt;Commit Changes'''. This will increment the version values.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to commit changes - if marked ''Commit Changes'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a CHANGES.txt next to your project  file.&lt;br /&gt;
&lt;br /&gt;
*Generate changes log - Enables this feature.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The header '''version.h''' is generated next to your project file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static long MAJOR = 0;&lt;br /&gt;
	static long MINOR = 10;&lt;br /&gt;
	static long BUILD = 1086;&lt;br /&gt;
	static long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static long MAJOR = 0;&lt;br /&gt;
	static long MINOR = 10;&lt;br /&gt;
	static long BUILD = 1086;&lt;br /&gt;
	static long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
After checking the option Generate changes log on the configuration dialog of auto versioning, a window will open to let you enter the list of changes after a modification to the project sources or a Commit Changes event. Below is an  example screen shot: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the CHANGES.txt file created next to your project file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5007</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5007"/>
		<updated>2007-10-09T01:55:50Z</updated>

		<summary type="html">&lt;p&gt;Jgm: Updated plugin version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 0.9&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the Auto Versioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Supports C and C++.&lt;br /&gt;
*Generates and auto increment version variables.&lt;br /&gt;
*Software status editor.&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values.&lt;br /&gt;
*Date declarations as month, date and year.&lt;br /&gt;
*Ubuntu style version.&lt;br /&gt;
*Svn revision check.&lt;br /&gt;
*Change log generator.&lt;br /&gt;
*Works on Windows and Linux (doesn't have Mac to test).&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Auto Versioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main auto versioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, a version.ini (for the settings that you entered on the configuration dialog) and version.h files will be created next to your project file. For now, everytime that you hit the '''Project-&amp;gt;Auto Versioning''' menu the configuration dialog will popup to let you edit your project version and versioning related settings, unless you delete the version.ini that has all the configurations.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the auto versioning plugin increment them for you. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0. Put a 0 for unlimited.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum. Put a 0 for unlimited&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme. If not marked only the Build Number and Revision will increment.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Commit Changes - to increment the changes using the scheme when you feel that is the right moment, just using the menu '''Project-&amp;gt;Commit Changes'''. This will increment the version values.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to commit changes - if marked ''Commit Changes'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a CHANGES.txt next to your project  file.&lt;br /&gt;
&lt;br /&gt;
*Generate changes log - Enables this feature.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The header '''version.h''' is generated next to your project file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static long MAJOR = 0;&lt;br /&gt;
	static long MINOR = 10;&lt;br /&gt;
	static long BUILD = 1086;&lt;br /&gt;
	static long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static long MAJOR = 0;&lt;br /&gt;
	static long MINOR = 10;&lt;br /&gt;
	static long BUILD = 1086;&lt;br /&gt;
	static long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
After checking the option Generate changes log on the configuration dialog of auto versioning, a window will open to let you enter the list of changes after a modification to the project sources or a Commit Changes event. Below is an  example screen shot: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the CHANGES.txt file created next to your project file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5005</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=5005"/>
		<updated>2007-10-05T22:48:32Z</updated>

		<summary type="html">&lt;p&gt;Jgm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 0.8.2&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the Auto Versioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Supports C and C++.&lt;br /&gt;
*Generates and auto increment version variables.&lt;br /&gt;
*Software status editor.&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values.&lt;br /&gt;
*Date declarations as month, date and year.&lt;br /&gt;
*Ubuntu style version.&lt;br /&gt;
*Svn revision check.&lt;br /&gt;
*Change log generator.&lt;br /&gt;
*Works on Windows and Linux (doesn't have Mac to test).&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Auto Versioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main auto versioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, a version.ini (for the settings that you entered on the configuration dialog) and version.h files will be created next to your project file. For now, everytime that you hit the '''Project-&amp;gt;Auto Versioning''' menu the configuration dialog will popup to let you edit your project version and versioning related settings, unless you delete the version.ini that has all the configurations.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the auto versioning plugin increment them for you. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0. Put a 0 for unlimited.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum. Put a 0 for unlimited&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme. If not marked only the Build Number and Revision will increment.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Commit Changes - to increment the changes using the scheme when you feel that is the right moment, just using the menu '''Project-&amp;gt;Commit Changes'''. This will increment the version values.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to commit changes - if marked ''Commit Changes'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a CHANGES.txt next to your project  file.&lt;br /&gt;
&lt;br /&gt;
*Generate changes log - Enables this feature.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The header '''version.h''' is generated next to your project file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static long MAJOR = 0;&lt;br /&gt;
	static long MINOR = 10;&lt;br /&gt;
	static long BUILD = 1086;&lt;br /&gt;
	static long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static long MAJOR = 0;&lt;br /&gt;
	static long MINOR = 10;&lt;br /&gt;
	static long BUILD = 1086;&lt;br /&gt;
	static long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
After checking the option Generate changes log on the configuration dialog of auto versioning, a window will open to let you enter the list of changes after a modification to the project sources or a Commit Changes event. Below is an  example screen shot: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the CHANGES.txt file created next to your project file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=4973</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=4973"/>
		<updated>2007-09-17T01:19:41Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 0.8&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the Auto Versioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Supports C and C++.&lt;br /&gt;
*Generates and auto increment version variables.&lt;br /&gt;
*Software status editor.&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values.&lt;br /&gt;
*Date declarations as month, date and year.&lt;br /&gt;
*Ubuntu style version.&lt;br /&gt;
*Svn revision check.&lt;br /&gt;
*Change log generator.&lt;br /&gt;
*Works on Windows and Linux (doesn't have Mac to test).&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Auto Versioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main auto versioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, a version.ini (for the settings that you entered on the configuration dialog) and version.h files will be created next to your project file. For now, everytime that you hit the '''Project-&amp;gt;Auto Versioning''' menu the configuration dialog will popup to let you edit your project version and versioning related settings, unless you delete the version.ini that has all the configurations.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the auto versioning plugin increment them for you. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0. Put a 0 for unlimited.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum. Put a 0 for unlimited&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme. If not marked only the Build Number and Revision will increment.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Commit Changes - to increment the changes using the scheme when you feel that is the right moment, just using the menu '''Project-&amp;gt;Commit Changes'''. This will increment the version values.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to commit changes - if marked ''Commit Changes'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a CHANGES.txt next to your project  file.&lt;br /&gt;
&lt;br /&gt;
*Generate changes log - Enables this feature.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The header '''version.h''' is generated next to your project file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static long MAJOR = 0;&lt;br /&gt;
	static long MINOR = 10;&lt;br /&gt;
	static long BUILD = 1086;&lt;br /&gt;
	static long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static long MAJOR = 0;&lt;br /&gt;
	static long MINOR = 10;&lt;br /&gt;
	static long BUILD = 1086;&lt;br /&gt;
	static long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
After checking the option Generate changes log on the configuration dialog of auto versioning, a window will open to let you enter the list of changes after a modification to the project sources or a Commit Changes event. Below is an  example screen shot: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the CHANGES.txt file created next to your project file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=4972</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=4972"/>
		<updated>2007-09-17T01:17:26Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* Usage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 0.8&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the Auto Versioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible, and made a little contribution to this fabulous OS IDE.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Supports C and C++.&lt;br /&gt;
*Generates and auto increment version variables.&lt;br /&gt;
*Software status editor.&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values.&lt;br /&gt;
*Date declarations as month, date and year.&lt;br /&gt;
*Ubuntu style version.&lt;br /&gt;
*Svn revision check.&lt;br /&gt;
*Change log generator.&lt;br /&gt;
*Works on Windows and Linux (doesn't have Mac to test).&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Auto Versioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main auto versioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, a version.ini (for the settings that you entered on the configuration dialog) and version.h files will be created next to your project file. For now, everytime that you hit the '''Project-&amp;gt;Auto Versioning''' menu the configuration dialog will popup to let you edit your project version and versioning related settings, unless you delete the version.ini that has all the configurations.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the auto versioning plugin increment them for you. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0. Put a 0 for unlimited.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum. Put a 0 for unlimited&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme. If not marked only the Build Number and Revision will increment.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Commit Changes - to increment the changes using the scheme when you feel that is the right moment, just using the menu '''Project-&amp;gt;Commit Changes'''. This will increment the version values.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to commit changes - if marked ''Commit Changes'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a CHANGES.txt next to your project  file.&lt;br /&gt;
&lt;br /&gt;
*Generate changes log - Enables this feature.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The header '''version.h''' is generated next to your project file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static long MAJOR = 0;&lt;br /&gt;
	static long MINOR = 10;&lt;br /&gt;
	static long BUILD = 1086;&lt;br /&gt;
	static long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static long MAJOR = 0;&lt;br /&gt;
	static long MINOR = 10;&lt;br /&gt;
	static long BUILD = 1086;&lt;br /&gt;
	static long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
After checking the option Generate changes log on the configuration dialog of auto versioning, a window will open to let you enter the list of changes after a modification to the project sources or a Commit Changes event. Below is an  example screen shot: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the CHANGES.txt file created next to your project file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=4971</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=4971"/>
		<updated>2007-09-17T01:15:44Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* Scheme */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 0.8&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the Auto Versioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible, and made a little contribution to this fabulous OS IDE.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Supports C and C++.&lt;br /&gt;
*Generates and auto increment version variables.&lt;br /&gt;
*Software status editor.&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values.&lt;br /&gt;
*Date declarations as month, date and year.&lt;br /&gt;
*Ubuntu style version.&lt;br /&gt;
*Svn revision check.&lt;br /&gt;
*Change log generator.&lt;br /&gt;
*Works on Windows and Linux (doesn't have Mac to test).&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Auto Versioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main auto versioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, a version.ini (for the settings that you entered on the configuration dialog) and version.h files will be created next to your project file. For now, everytime that you hit the '''Project-&amp;gt;Auto Versioning''' menu the configuration dialog will popup to let you edit your project version and settings, unless you delete the version.ini that has all the configurations.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the auto versioning plugin increment them for you. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0. Put a 0 for unlimited.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum. Put a 0 for unlimited&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme. If not marked only the Build Number and Revision will increment.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Commit Changes - to increment the changes using the scheme when you feel that is the right moment, just using the menu '''Project-&amp;gt;Commit Changes'''. This will increment the version values.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to commit changes - if marked ''Commit Changes'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a CHANGES.txt next to your project  file.&lt;br /&gt;
&lt;br /&gt;
*Generate changes log - Enables this feature.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The header '''version.h''' is generated next to your project file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static long MAJOR = 0;&lt;br /&gt;
	static long MINOR = 10;&lt;br /&gt;
	static long BUILD = 1086;&lt;br /&gt;
	static long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static long MAJOR = 0;&lt;br /&gt;
	static long MINOR = 10;&lt;br /&gt;
	static long BUILD = 1086;&lt;br /&gt;
	static long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
After checking the option Generate changes log on the configuration dialog of auto versioning, a window will open to let you enter the list of changes after a modification to the project sources or a Commit Changes event. Below is an  example screen shot: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the CHANGES.txt file created next to your project file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=4970</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=4970"/>
		<updated>2007-09-17T01:12:05Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* Version Values */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 0.8&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the Auto Versioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible, and made a little contribution to this fabulous OS IDE.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Supports C and C++.&lt;br /&gt;
*Generates and auto increment version variables.&lt;br /&gt;
*Software status editor.&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values.&lt;br /&gt;
*Date declarations as month, date and year.&lt;br /&gt;
*Ubuntu style version.&lt;br /&gt;
*Svn revision check.&lt;br /&gt;
*Change log generator.&lt;br /&gt;
*Works on Windows and Linux (doesn't have Mac to test).&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Auto Versioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main auto versioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, a version.ini (for the settings that you entered on the configuration dialog) and version.h files will be created next to your project file. For now, everytime that you hit the '''Project-&amp;gt;Auto Versioning''' menu the configuration dialog will popup to let you edit your project version and settings, unless you delete the version.ini that has all the configurations.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the auto versioning plugin increment them for you. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum.&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme. If not marked only the Build Number and Revision will increment.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Commit Changes - to increment the changes using the scheme when you feel that is the right moment, just using the menu '''Project-&amp;gt;Commit Changes'''. This will increment the version values.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to commit changes - if marked ''Commit Changes'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a CHANGES.txt next to your project  file.&lt;br /&gt;
&lt;br /&gt;
*Generate changes log - Enables this feature.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The header '''version.h''' is generated next to your project file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static long MAJOR = 0;&lt;br /&gt;
	static long MINOR = 10;&lt;br /&gt;
	static long BUILD = 1086;&lt;br /&gt;
	static long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static long MAJOR = 0;&lt;br /&gt;
	static long MINOR = 10;&lt;br /&gt;
	static long BUILD = 1086;&lt;br /&gt;
	static long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
After checking the option Generate changes log on the configuration dialog of auto versioning, a window will open to let you enter the list of changes after a modification to the project sources or a Commit Changes event. Below is an  example screen shot: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the CHANGES.txt file created next to your project file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=4969</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=4969"/>
		<updated>2007-09-17T01:11:52Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* Usage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 0.8&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the Auto Versioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible, and made a little contribution to this fabulous OS IDE.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Supports C and C++.&lt;br /&gt;
*Generates and auto increment version variables.&lt;br /&gt;
*Software status editor.&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values.&lt;br /&gt;
*Date declarations as month, date and year.&lt;br /&gt;
*Ubuntu style version.&lt;br /&gt;
*Svn revision check.&lt;br /&gt;
*Change log generator.&lt;br /&gt;
*Works on Windows and Linux (doesn't have Mac to test).&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Auto Versioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main auto versioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, a version.ini (for the settings that you entered on the configuration dialog) and version.h files will be created next to your project file. For now, everytime that you hit the '''Project-&amp;gt;Auto Versioning''' menu the configuration dialog will popup to let you edit your project version and settings, unless you delete the version.ini that has all the configurations.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the autoversioning plugin increment them for you. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum.&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme. If not marked only the Build Number and Revision will increment.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Commit Changes - to increment the changes using the scheme when you feel that is the right moment, just using the menu '''Project-&amp;gt;Commit Changes'''. This will increment the version values.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to commit changes - if marked ''Commit Changes'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a CHANGES.txt next to your project  file.&lt;br /&gt;
&lt;br /&gt;
*Generate changes log - Enables this feature.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The header '''version.h''' is generated next to your project file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static long MAJOR = 0;&lt;br /&gt;
	static long MINOR = 10;&lt;br /&gt;
	static long BUILD = 1086;&lt;br /&gt;
	static long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static long MAJOR = 0;&lt;br /&gt;
	static long MINOR = 10;&lt;br /&gt;
	static long BUILD = 1086;&lt;br /&gt;
	static long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
After checking the option Generate changes log on the configuration dialog of auto versioning, a window will open to let you enter the list of changes after a modification to the project sources or a Commit Changes event. Below is an  example screen shot: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the CHANGES.txt file created next to your project file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=4968</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=4968"/>
		<updated>2007-09-17T01:08:46Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* Features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 0.8&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the Auto Versioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible, and made a little contribution to this fabulous OS IDE.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Supports C and C++.&lt;br /&gt;
*Generates and auto increment version variables.&lt;br /&gt;
*Software status editor.&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values.&lt;br /&gt;
*Date declarations as month, date and year.&lt;br /&gt;
*Ubuntu style version.&lt;br /&gt;
*Svn revision check.&lt;br /&gt;
*Change log generator.&lt;br /&gt;
*Works on Windows and Linux (doesn't have Mac to test).&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Auto Versioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main autoversioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, a version.ini (for the settings that you entered on the configuration dialog) and version.h files will be created next to your project file. For now, everytime that you hit the '''Project-&amp;gt;Auto Versioning''' menu the configuration dialog will popup to let you edit your project version and settings, unless you delete the version.ini that has all the configurations.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the autoversioning plugin increment them for you. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum.&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme. If not marked only the Build Number and Revision will increment.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Commit Changes - to increment the changes using the scheme when you feel that is the right moment, just using the menu '''Project-&amp;gt;Commit Changes'''. This will increment the version values.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to commit changes - if marked ''Commit Changes'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a CHANGES.txt next to your project  file.&lt;br /&gt;
&lt;br /&gt;
*Generate changes log - Enables this feature.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The header '''version.h''' is generated next to your project file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static long MAJOR = 0;&lt;br /&gt;
	static long MINOR = 10;&lt;br /&gt;
	static long BUILD = 1086;&lt;br /&gt;
	static long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static long MAJOR = 0;&lt;br /&gt;
	static long MINOR = 10;&lt;br /&gt;
	static long BUILD = 1086;&lt;br /&gt;
	static long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
After checking the option Generate changes log on the configuration dialog of auto versioning, a window will open to let you enter the list of changes after a modification to the project sources or a Commit Changes event. Below is an  example screen shot: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the CHANGES.txt file created next to your project file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=4967</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=4967"/>
		<updated>2007-09-17T01:06:11Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* Change log generator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 0.8&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the Auto Versioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible, and made a little contribution to this fabulous OS IDE.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Supports C and C++&lt;br /&gt;
*Generates and auto increment version variables&lt;br /&gt;
*Software status editor&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values&lt;br /&gt;
*Date declarations as month, date and year&lt;br /&gt;
*Ubuntu style version&lt;br /&gt;
*Svn revision check&lt;br /&gt;
*Change log generator.&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Auto Versioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main autoversioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, a version.ini (for the settings that you entered on the configuration dialog) and version.h files will be created next to your project file. For now, everytime that you hit the '''Project-&amp;gt;Auto Versioning''' menu the configuration dialog will popup to let you edit your project version and settings, unless you delete the version.ini that has all the configurations.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the autoversioning plugin increment them for you. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum.&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme. If not marked only the Build Number and Revision will increment.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Commit Changes - to increment the changes using the scheme when you feel that is the right moment, just using the menu '''Project-&amp;gt;Commit Changes'''. This will increment the version values.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to commit changes - if marked ''Commit Changes'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a CHANGES.txt next to your project  file.&lt;br /&gt;
&lt;br /&gt;
*Generate changes log - Enables this feature.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The header '''version.h''' is generated next to your project file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static long MAJOR = 0;&lt;br /&gt;
	static long MINOR = 10;&lt;br /&gt;
	static long BUILD = 1086;&lt;br /&gt;
	static long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static long MAJOR = 0;&lt;br /&gt;
	static long MINOR = 10;&lt;br /&gt;
	static long BUILD = 1086;&lt;br /&gt;
	static long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
After checking the option Generate changes log on the configuration dialog of auto versioning, a window will open to let you enter the list of changes after a modification to the project sources or a Commit Changes event. Below is an  example screen shot: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the CHANGES.txt file created next to your project file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=4966</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=4966"/>
		<updated>2007-09-17T01:03:20Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* Settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 0.8&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the Auto Versioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible, and made a little contribution to this fabulous OS IDE.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Supports C and C++&lt;br /&gt;
*Generates and auto increment version variables&lt;br /&gt;
*Software status editor&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values&lt;br /&gt;
*Date declarations as month, date and year&lt;br /&gt;
*Ubuntu style version&lt;br /&gt;
*Svn revision check&lt;br /&gt;
*Change log generator.&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Auto Versioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main autoversioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, a version.ini (for the settings that you entered on the configuration dialog) and version.h files will be created next to your project file. For now, everytime that you hit the '''Project-&amp;gt;Auto Versioning''' menu the configuration dialog will popup to let you edit your project version and settings, unless you delete the version.ini that has all the configurations.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the autoversioning plugin increment them for you. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum.&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme. If not marked only the Build Number and Revision will increment.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Commit Changes - to increment the changes using the scheme when you feel that is the right moment, just using the menu '''Project-&amp;gt;Commit Changes'''. This will increment the version values.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to commit changes - if marked ''Commit Changes'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a CHANGES.txt next to your project  file.&lt;br /&gt;
&lt;br /&gt;
*Generate changes log - Enables this feature.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The header '''version.h''' is generated next to your project file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static long MAJOR = 0;&lt;br /&gt;
	static long MINOR = 10;&lt;br /&gt;
	static long BUILD = 1086;&lt;br /&gt;
	static long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static long MAJOR = 0;&lt;br /&gt;
	static long MINOR = 10;&lt;br /&gt;
	static long BUILD = 1086;&lt;br /&gt;
	static long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
After checking the option Generate changes log on the configuration dialog of auto versioning, a window will open to let you enter the list of changes after a modification to the project sources or a Commit Changes event. Below is an  example screen shot &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the CHANGES.txt file created next to your project file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=4965</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=4965"/>
		<updated>2007-09-17T01:02:41Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* Version Values */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 0.8&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the Auto Versioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible, and made a little contribution to this fabulous OS IDE.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Supports C and C++&lt;br /&gt;
*Generates and auto increment version variables&lt;br /&gt;
*Software status editor&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values&lt;br /&gt;
*Date declarations as month, date and year&lt;br /&gt;
*Ubuntu style version&lt;br /&gt;
*Svn revision check&lt;br /&gt;
*Change log generator.&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Auto Versioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main autoversioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, a version.ini (for the settings that you entered on the configuration dialog) and version.h files will be created next to your project file. For now, everytime that you hit the '''Project-&amp;gt;Auto Versioning''' menu the configuration dialog will popup to let you edit your project version and settings, unless you delete the version.ini that has all the configurations.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the autoversioning plugin increment them for you. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum.&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Commit Changes - to increment the changes using the scheme when you feel that is the right moment, just using the menu '''Project-&amp;gt;Commit Changes'''. This will increment the version values.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to commit changes - if marked ''Commit Changes'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a CHANGES.txt next to your project  file.&lt;br /&gt;
&lt;br /&gt;
*Generate changes log - Enables this feature.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The header '''version.h''' is generated next to your project file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static long MAJOR = 0;&lt;br /&gt;
	static long MINOR = 10;&lt;br /&gt;
	static long BUILD = 1086;&lt;br /&gt;
	static long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static long MAJOR = 0;&lt;br /&gt;
	static long MINOR = 10;&lt;br /&gt;
	static long BUILD = 1086;&lt;br /&gt;
	static long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
After checking the option Generate changes log on the configuration dialog of auto versioning, a window will open to let you enter the list of changes after a modification to the project sources or a Commit Changes event. Below is an  example screen shot &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the CHANGES.txt file created next to your project file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=4964</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=4964"/>
		<updated>2007-09-17T01:00:14Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* Features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 0.8&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the Auto Versioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible, and made a little contribution to this fabulous OS IDE.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Supports C and C++&lt;br /&gt;
*Generates and auto increment version variables&lt;br /&gt;
*Software status editor&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values&lt;br /&gt;
*Date declarations as month, date and year&lt;br /&gt;
*Ubuntu style version&lt;br /&gt;
*Svn revision check&lt;br /&gt;
*Change log generator.&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Auto Versioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main autoversioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, a version.ini (for the settings that you entered on the configuration dialog) and version.h files will be created next to your project file. For now, everytime that you hit the '''Project-&amp;gt;Auto Versioning''' menu the configuration dialog will popup to let you edit your project version and settings, unless you delete the version.ini that has all the configurations.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the autoversioning plugin increment them by himself. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum.&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Commit Changes - to increment the changes using the scheme when you feel that is the right moment, just using the menu '''Project-&amp;gt;Commit Changes'''. This will increment the version values.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to commit changes - if marked ''Commit Changes'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a CHANGES.txt next to your project  file.&lt;br /&gt;
&lt;br /&gt;
*Generate changes log - Enables this feature.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The header '''version.h''' is generated next to your project file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static long MAJOR = 0;&lt;br /&gt;
	static long MINOR = 10;&lt;br /&gt;
	static long BUILD = 1086;&lt;br /&gt;
	static long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static long MAJOR = 0;&lt;br /&gt;
	static long MINOR = 10;&lt;br /&gt;
	static long BUILD = 1086;&lt;br /&gt;
	static long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
After checking the option Generate changes log on the configuration dialog of auto versioning, a window will open to let you enter the list of changes after a modification to the project sources or a Commit Changes event. Below is an  example screen shot &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the CHANGES.txt file created next to your project file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=4963</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=4963"/>
		<updated>2007-09-17T00:53:06Z</updated>

		<summary type="html">&lt;p&gt;Jgm: Structure reorganization&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 0.8&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the Auto Versioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible, and made a little contribution to this fabulous OS IDE.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Generates and auto increment version variables&lt;br /&gt;
*Software status editor&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values&lt;br /&gt;
*Date declarations as month, date and year&lt;br /&gt;
*Ubuntu style version&lt;br /&gt;
*Svn revision check&lt;br /&gt;
*Change log generator.&lt;br /&gt;
*Option to generate C header (without namespace) instead of C++ header (with namespace AutoVersion)&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Auto Versioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main autoversioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, a version.ini (for the settings that you entered on the configuration dialog) and version.h files will be created next to your project file. For now, everytime that you hit the '''Project-&amp;gt;Auto Versioning''' menu the configuration dialog will popup to let you edit your project version and settings, unless you delete the version.ini that has all the configurations.&lt;br /&gt;
&lt;br /&gt;
==Dialog notebook tabs==&lt;br /&gt;
&lt;br /&gt;
===Version Values===&lt;br /&gt;
&lt;br /&gt;
Here you just enter the corresponding version values or let the autoversioning plugin increment them by himself. &lt;br /&gt;
&lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
===Scheme===&lt;br /&gt;
&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum.&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Commit Changes - to increment the changes using the scheme when you feel that is the right moment, just using the menu '''Project-&amp;gt;Commit Changes'''. This will increment the version values.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to commit changes - if marked ''Commit Changes'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
===Changes Log===&lt;br /&gt;
&lt;br /&gt;
This lets you enter every change made to the project to generate a CHANGES.txt next to your project  file.&lt;br /&gt;
&lt;br /&gt;
*Generate changes log - Enables this feature.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
==Including in your code==&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The header '''version.h''' is generated next to your project file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static long MAJOR = 0;&lt;br /&gt;
	static long MINOR = 10;&lt;br /&gt;
	static long BUILD = 1086;&lt;br /&gt;
	static long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static long MAJOR = 0;&lt;br /&gt;
	static long MINOR = 10;&lt;br /&gt;
	static long BUILD = 1086;&lt;br /&gt;
	static long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
After checking the option Generate changes log on the configuration dialog of auto versioning, a window will open to let you enter the list of changes after a modification to the project sources or a Commit Changes event. Below is an  example screen shot &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the CHANGES.txt file created next to your project file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
	<entry>
		<id>https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=4962</id>
		<title>AutoVersioning plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.codeblocks.org/index.php?title=AutoVersioning_plugin&amp;diff=4962"/>
		<updated>2007-09-17T00:48:44Z</updated>

		<summary type="html">&lt;p&gt;Jgm: /* First time use */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Code::Blocks Contrib Plugins]]&lt;br /&gt;
{{Infobox_Plugin|&lt;br /&gt;
  name = AutoVersioning |&lt;br /&gt;
  logo = [[Image:AutoVersioningLogo.png]] |&lt;br /&gt;
  developer = [[User:jgm|JGM]] |&lt;br /&gt;
  maintainer = JGM |&lt;br /&gt;
  version = 0.8&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An application versioning plug in that increments the version and build number of your application every time a change has been made and stores it in version.h with easy to use variable declarations. Also have a feature for committing changes a la SVN style, a version scheme editor, a change log generator and more...&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The idea of the Auto Versioning plugin was made during the development of a pre-alpha software that required the version info and status. Been to busy coding, without time to maintain the version number, just decided to develop a plugin that could do the job with little intervention as possible, and made a little contribution to this fabulous OS IDE.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
Here is the list of features the plugin covers summarized:&lt;br /&gt;
&lt;br /&gt;
*Generates and auto increment version variables&lt;br /&gt;
*Software status editor&lt;br /&gt;
*Integrated scheme  editor for changing the behavior of the auto incrementation of version values&lt;br /&gt;
*Date declarations as month, date and year&lt;br /&gt;
*Ubuntu style version&lt;br /&gt;
*Svn revision check&lt;br /&gt;
*Change log generator.&lt;br /&gt;
*Option to generate C header (without namespace) instead of C++ header (with namespace AutoVersion)&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
Usually source and news about new releases are posted on the Code::Blocks forums on the plugins development section. You can access this plugin topic over [/index.php/topic,6294.msg48225.html#msg48225 here], recent sources are attached on the first post (you have to be logged in to download attachments on the forum).&lt;br /&gt;
&lt;br /&gt;
The plugin also have a project page at [http://www.berlios.de www.berlios.de]. The link is [http://developer.berlios.de/projects/autoversioning/ http://developer.berlios.de/projects/autoversioning/]. Submit all features request and bugs on the project page.&lt;br /&gt;
&lt;br /&gt;
Svn check out: '''svn://svn.berlios.de/autoversioning'''&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
After downloading the sources, compiling them and installing the plugin to Code::Blocks just go to '''Project-&amp;gt;Auto Versioning''' menu. A pop up window like this will appear:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvAskConfigure.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When hitting yes on the ask to configure message box, the main autoversioning configuration dialog will open, to let you configure the version info of your project. Each editable control has a tool tip with information that explains you its features, so if you put the mouse on the control the tool tip will pop up. Below is a screenshot showing all the tabs:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:AvDialog.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After configuring your project for auto versioning, a version.ini (for the settings that you entered on the configuration dialog) and version.h files will be created next to your project file. For now, everytime that you hit the '''Project-&amp;gt;Auto Versioning''' menu the configuration dialog will popup to let you edit your project version and settings, unless you delete the version.ini that has all the configurations.&lt;br /&gt;
&lt;br /&gt;
===Dialog notebook tabs===&lt;br /&gt;
&lt;br /&gt;
'''Version Values: '''&amp;lt;br /&amp;gt; &lt;br /&gt;
Here you just enter the corresponding version values or let the autoversioning plugin increment them by himself. &lt;br /&gt;
*Major - Increments by 1 when the minor version reaches its maximum&lt;br /&gt;
*Minor - Increments by 1 when the build number pass the barrier of build times, the value is reset to 0 when it reach its maximum value.&lt;br /&gt;
*Build Number (also equivalent to Release) - Increments by 1 every time that the revision number is incremented.&lt;br /&gt;
*Revision - Increments randomly when the project has been modified and then compiled.&lt;br /&gt;
&lt;br /&gt;
'''Status: '''&amp;lt;br /&amp;gt;&lt;br /&gt;
Some fields to keep track of your software status with a list of predefined values for convenience.&lt;br /&gt;
*Software Status - The typical example should be v1.0 Alpha&lt;br /&gt;
*Abbreviation - Same as software status but like this: v1.0a &lt;br /&gt;
&lt;br /&gt;
'''Scheme: '''&amp;lt;br /&amp;gt;&lt;br /&gt;
Lets you edit how the plugin will increment the version values.&lt;br /&gt;
*Minor maximum - The maximum number that the Minor value can reach, after this value is reached the Major is incremented by 1 and next time project is compiled the Minor is set to 0.&lt;br /&gt;
*Build Number maximum - When the value is reached, the next time the project is compiled is set to 0.&lt;br /&gt;
*Revision maximum - Same as Build Number maximum.&lt;br /&gt;
*Revision random maximum - The revision increments by random numbers that you decide, if you put here 1, the revision obviously will increment by 1.&lt;br /&gt;
*Build times before incrementing Minor - After successful changes to code and compilation the build history will increment, and when it reaches this value the Minor will increment.&lt;br /&gt;
&lt;br /&gt;
'''Settings: '''&amp;lt;br /&amp;gt;&lt;br /&gt;
Here you can set some settings of the auto versioning behavior.&lt;br /&gt;
*Autoincrement Major and Minor - lets the plugin increments this values by you using the scheme.&lt;br /&gt;
*Create date declarations - create entries in the version.h file with dates and ubuntu style version.&lt;br /&gt;
*Commit Changes - to increment the changes using the scheme when you feel that is the right moment, just using the menu '''Project-&amp;gt;Commit Changes'''. This will increment the version values.&lt;br /&gt;
*Header language - select the language output of version.h&lt;br /&gt;
*Ask to commit changes - if marked ''Commit Changes'', it ask you before compilation (if changes has been made) to increment the version values.&lt;br /&gt;
*svn enabled - search for the svn revision and date in the current folder and generates the correct entries in version.h&lt;br /&gt;
&lt;br /&gt;
'''Changes Log: '''&amp;lt;br /&amp;gt;&lt;br /&gt;
This lets you enter every change made to the project to generate a CHANGES.txt next to your project  file.&lt;br /&gt;
*Generate changes log - Enables this feature.&lt;br /&gt;
*Title Format - a format able title with a list of predefined values.&lt;br /&gt;
&lt;br /&gt;
===Including in your code===&lt;br /&gt;
To use the variables generated by the plugin just ''#include &amp;lt;version.h&amp;gt;''. An example code would be like the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;version.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
void main(){&lt;br /&gt;
    std::cout&amp;lt;&amp;lt;AutoVersion::Major&amp;lt;&amp;lt;endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Output of version.h===&lt;br /&gt;
The header '''version.h''' is generated next to your project file. Here is a sample content of the file on c++ mode:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
&lt;br /&gt;
namespace AutoVersion{&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static long MAJOR = 0;&lt;br /&gt;
	static long MINOR = 10;&lt;br /&gt;
	static long BUILD = 1086;&lt;br /&gt;
	static long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On C mode is the same as C++ but without the namespace:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#ifndef VERSION_H&lt;br /&gt;
#define VERSION_H&lt;br /&gt;
	&lt;br /&gt;
	//Date Version Types&lt;br /&gt;
	static char DATE[] = &amp;quot;15&amp;quot;;&lt;br /&gt;
	static char MONTH[] = &amp;quot;09&amp;quot;;&lt;br /&gt;
	static char YEAR[] = &amp;quot;2007&amp;quot;;&lt;br /&gt;
	static double UBUNTU_VERSION_STYLE = 7.09;&lt;br /&gt;
	&lt;br /&gt;
	//Software Status&lt;br /&gt;
	static char STATUS[] = &amp;quot;Pre-alpha&amp;quot;;&lt;br /&gt;
	static char STATUS_SHORT[] = &amp;quot;pa&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
	//Standard Version Type&lt;br /&gt;
	static long MAJOR = 0;&lt;br /&gt;
	static long MINOR = 10;&lt;br /&gt;
	static long BUILD = 1086;&lt;br /&gt;
	static long REVISION = 6349;&lt;br /&gt;
	&lt;br /&gt;
	//Miscellaneous Version Types&lt;br /&gt;
	static long BUILDS_COUNT = 1984;&lt;br /&gt;
	#define RC_FILEVERSION 0,10,1086,6349&lt;br /&gt;
	#define RC_FILEVERSION_STRING &amp;quot;0, 10, 1086, 6349\0&amp;quot;&lt;br /&gt;
	static char FULLVERSION_STRING[] = &amp;quot;0.10.1086.6349&amp;quot;;&lt;br /&gt;
	&lt;br /&gt;
#endif //VERSION_h&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change log generator==&lt;br /&gt;
After checking the option Generate changes log on the configuration dialog of auto versioning, a window will open to let you enter the list of changes after a modification to the project sources or a Commit Changes event. Below is an  example screen shot &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:AvChangesList.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example of the output generated by the plugin to the CHANGES.txt file created next to your project file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
03 September 2007&lt;br /&gt;
   released version 0.7.34 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Fixed: pointer declaration&lt;br /&gt;
        -Bug: blah blah&lt;br /&gt;
&lt;br /&gt;
02 September 2007&lt;br /&gt;
   released version 0.7.32 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Documented some areas of the code&lt;br /&gt;
        -Reorganized the code for readability&lt;br /&gt;
&lt;br /&gt;
01 September 2007&lt;br /&gt;
   released version 0.7.30 of AutoVersioning-Linux&lt;br /&gt;
&lt;br /&gt;
     Change log:&lt;br /&gt;
        -Edited the change log window&lt;br /&gt;
        -If the change log windows is leave blank no changes.txt is modified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jgm</name></author>
	</entry>
</feed>