Moved doc to highercase string, added coding guidelines
This commit is contained in:
parent
af1a7e0725
commit
42116eff46
|
@ -0,0 +1,30 @@
|
||||||
|
== Spaces and Tabs ==
|
||||||
|
|
||||||
|
Try to use as many as can TABS instead of spaces, this makes indenting
|
||||||
|
much more easy.
|
||||||
|
|
||||||
|
|
||||||
|
== Function prototypes ==
|
||||||
|
|
||||||
|
The name of the function should be on a seperated line, this for easy
|
||||||
|
searching in long source files.
|
||||||
|
Each parameter should use a own line, aligned under the first parameter.
|
||||||
|
Below there is an example, this style is for reading and editing quick trough
|
||||||
|
sourcecode. Also indenting can be set with a good programmers editor
|
||||||
|
(visual spaces per tab, this because one tab is normaly 8 spaces on screen)
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
void
|
||||||
|
foo( int x,
|
||||||
|
int y,
|
||||||
|
int z )
|
||||||
|
{
|
||||||
|
function1();
|
||||||
|
|
||||||
|
if(var == 1)
|
||||||
|
{
|
||||||
|
dothis();
|
||||||
|
dothat();
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,67 @@
|
||||||
|
|
||||||
|
Here are some source code maintenance tasks that need to be done, and maybe some
|
||||||
|
folks will see these items and volunteer to do them.
|
||||||
|
|
||||||
|
|
||||||
|
*** @todo: grep for @todo and finish off those tasks, scattered throughout the source.
|
||||||
|
|
||||||
|
|
||||||
|
*** use BOARD_ITEM::MenuIcon() in the onrightclick.cpp
|
||||||
|
|
||||||
|
|
||||||
|
*** Use DOXYGEN compatible comments on member functions. As configured,
|
||||||
|
Doxygen gives priority to comments in header files over *.cpp files.
|
||||||
|
Review the generated docs and start to go through the source and make the
|
||||||
|
generated doxygen docs readable and clear using the JavaDoc style comments,
|
||||||
|
mostly in the header files. The error and warning output of the doxygen
|
||||||
|
compiler can help with this too.
|
||||||
|
|
||||||
|
|
||||||
|
*** Translate comments that are in French to English so there can be a broader
|
||||||
|
understanding by new developers.
|
||||||
|
|
||||||
|
|
||||||
|
*** Add tooltip text to all non-obvious controls in every dialog window.
|
||||||
|
Need to do this using DialogBlocks.
|
||||||
|
|
||||||
|
|
||||||
|
2008-Dec-6 Assigned To:
|
||||||
|
asked by: Dick Hollenbeck
|
||||||
|
================================================================================
|
||||||
|
1) Gerbview needs to work at least as well as gerv, that means adding named layers,
|
||||||
|
and a list control to sort the layer stack on the fly. There seems to be a polygon bug
|
||||||
|
of some kind, don't know how long that's been in there. (Dick)
|
||||||
|
2) Add net class support to PCBNEW, so the round tripping to freerouter
|
||||||
|
is a dream (Dick)
|
||||||
|
3) Document the specctra round tripper, and fix up the english translation
|
||||||
|
of help. (Dick, native english speaker)
|
||||||
|
4) Expose layer name editing in pcbnew (anyone), should dove tail with net
|
||||||
|
class editor from a UI perspective.
|
||||||
|
|
||||||
|
|
||||||
|
2008-Feb-8 Assigned To: dick
|
||||||
|
asked by: dick
|
||||||
|
================================================================================
|
||||||
|
specctra:
|
||||||
|
Add net class support to pcbnew so that the export to specctra becomes richer.
|
||||||
|
A netclass should hold a list of nets, track width, track spacing,
|
||||||
|
via drill size and via copper diameter.
|
||||||
|
|
||||||
|
|
||||||
|
2007-Nov-4 Assigned To: nobody
|
||||||
|
asked by: jp Charras
|
||||||
|
================================================================================
|
||||||
|
Use the collector classes in eeschema.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2008-Apr-29 Assigned To:
|
||||||
|
asked by: Dick Hollenbeck
|
||||||
|
================================================================================
|
||||||
|
+pcbnew
|
||||||
|
When picking new board from the menu, when an existing board is already
|
||||||
|
in memory, the number of layers in the new board is not set to the default
|
||||||
|
but rather to the number of layers in the previously loaded board, and with
|
||||||
|
the default layer names, rather than the layer names of the previously
|
||||||
|
loaded board. I think the number of layers should be reduced to the
|
||||||
|
default and the default layer names should be used.
|
|
@ -1,159 +0,0 @@
|
||||||
--== How to build kicad using CMAKE ==--
|
|
||||||
First Written: 19-Dec-2007
|
|
||||||
Last Revised: 06-Jan-2008
|
|
||||||
|
|
||||||
Kicad needs wxWidgets, the multi platform G.U.I.
|
|
||||||
|
|
||||||
Perform these steps in sequence. (Platform specific details are given in
|
|
||||||
sections below.)
|
|
||||||
|
|
||||||
|
|
||||||
1) Install "msys" and "mingw".
|
|
||||||
2) Install wxWidgets and build it.
|
|
||||||
3) Install zlib and build it.
|
|
||||||
4) Install CMAKE
|
|
||||||
5) Install Boost C++ Template Libraries (*.hpp files)
|
|
||||||
6) Install the kicad source tree.
|
|
||||||
7) Use cmake to build the kicad makefiles.
|
|
||||||
8) Use make to build and install kicad.
|
|
||||||
9) Making a "Debug" build.
|
|
||||||
|
|
||||||
|
|
||||||
===== Step Details ====================================================
|
|
||||||
|
|
||||||
1) Install "msys" and "mingw".
|
|
||||||
Get msys and mingw here: http://mingw.org/
|
|
||||||
msys sets up a development environment that allows the bash shell to run.
|
|
||||||
mingw is a set of tools that run on windows or under msys. You will need
|
|
||||||
at least the following mingw packages: make, gcc, g++, binutils, autoconf and
|
|
||||||
automake.
|
|
||||||
|
|
||||||
-----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
4) Install wxWidgets and build it.
|
|
||||||
Download http://www.wxwidgets.org/.
|
|
||||||
Start msys so you have a bash shell. Decide where your wxWidgets build directory
|
|
||||||
will be. It must be where you can access it from within the msys environment,
|
|
||||||
such as home/<user>. Edit your msys/1.0/etc/fstab file if needed to provide
|
|
||||||
access to this build directory from msys. (Note that if you want you can build
|
|
||||||
a "debug" version of the wxWidgets library at this point, instead of the release
|
|
||||||
version, or in addition to the the release version.)
|
|
||||||
Unzip the wmMWS zip file into the build directory. Change directories into there,
|
|
||||||
and then:
|
|
||||||
|
|
||||||
mkdir build-release
|
|
||||||
mkdir build-debug
|
|
||||||
|
|
||||||
-- release
|
|
||||||
cd build-release
|
|
||||||
../configure --enable-unicode --enable-monolithic --disable-shared --with-msw --with-opengl
|
|
||||||
make
|
|
||||||
make install
|
|
||||||
|
|
||||||
-- debug
|
|
||||||
cd build-debug
|
|
||||||
../confgiure --enable-unicode --enable-monolithic --enable-debug --enable-debug_gdb --disable-shared --with-msw --with-opengl
|
|
||||||
make
|
|
||||||
make install
|
|
||||||
|
|
||||||
I think the default is to install into /usr/local/wxMSW-2.8.7. You can probably
|
|
||||||
pass --prefix=<wxInstallDir> to configure above to change where "make install"
|
|
||||||
puts everything. We will refer to <wxInstallDir> again below. Without the
|
|
||||||
--prefix=<wxInstallDir> passed to configure, <wxInstallDir> will likely be
|
|
||||||
/usr/local/wxMSW-2.8.7
|
|
||||||
|
|
||||||
Verify that wx-config is in your path. Modify your PATH environment variable
|
|
||||||
if need be so you can run wx-config from a command prompt. You may have to
|
|
||||||
restart your msys shell, depending on how you modify your PATH.
|
|
||||||
|
|
||||||
|
|
||||||
-----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
5) Install zlib and build it.
|
|
||||||
If on windows, download http://www.zlib.net/ or a newer version.
|
|
||||||
Start msys so you have a bash shell. Decide where your zlib build directory
|
|
||||||
will be. It must be where you can access it from within the msys environment,
|
|
||||||
such as home/<user>. Edit your msys/1.0/etc/fstab file if needed to provide
|
|
||||||
access to this build directory from msys. Unzip the zlib123.zip file into this
|
|
||||||
build directory. Change directories into there, and then:
|
|
||||||
./configure (CHANGES NEEDED!!!)
|
|
||||||
make
|
|
||||||
make install
|
|
||||||
|
|
||||||
Note (JP Charras):
|
|
||||||
Under Linux, zlib is usually installed.
|
|
||||||
if not found by wxWidget installation, wxWidgets creates an alternate zlib
|
|
||||||
Under Windows, zlib is not installed, so my cmake buld try to use the wxWidgets zlib build.
|
|
||||||
So, under windows kicad build should work without zlib install.
|
|
||||||
|
|
||||||
-----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
6) Install CMAKE.
|
|
||||||
If windows, download the installation binary for windows from cmake.org.
|
|
||||||
Install that and choose to add cmake to your path during installation. You
|
|
||||||
will have to restart and command shells for the new path to take effect.
|
|
||||||
Verify that cmake is in your path by trying to run it from a command prompt.
|
|
||||||
|
|
||||||
|
|
||||||
If linux, use your package manager to install cmake. You should get cmake 2.4.7
|
|
||||||
or later. If only an older one is available in your package repository, build
|
|
||||||
2.4.7 from source. Verify that cmake is in your path by trying to run it from a
|
|
||||||
command prompt.
|
|
||||||
|
|
||||||
|
|
||||||
7) Install Boost C++ Libraries
|
|
||||||
If windows, well I'm guessing, so somebody please try these two options and
|
|
||||||
correct this text please according to which ever is easier:
|
|
||||||
(optionA) Go to http://sourceforge.net/project/showfiles.php?group_id=7586
|
|
||||||
and download boost_1_34_1.zip or later and unzip it so as to put the files
|
|
||||||
into C:\Program Files\boost\boost_1_34_1
|
|
||||||
(optionB)
|
|
||||||
Go to http://www.boost-consulting.com/products/free
|
|
||||||
and download the http://www.boost-consulting.com/boost_1_34_1_setup.exe
|
|
||||||
file and run it.
|
|
||||||
|
|
||||||
-----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
8) Install the kicad source tree.
|
|
||||||
You can use the subversion repository or a tar file for this. See the wiki.
|
|
||||||
|
|
||||||
-----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
9) Use cmake to create the kicad makefiles.
|
|
||||||
Go into your msys shell and cd to kicad source directory.
|
|
||||||
|
|
||||||
Run CMakeSetup.exe and set source and binary paths.
|
|
||||||
|
|
||||||
CMakeSetup.exe will try and find the boost header files and will often fail. If it
|
|
||||||
fails, you will have to point it to directory, where boost c++ is installed.
|
|
||||||
|
|
||||||
You can safely turn minizip building to OFF, but if you want to build it with zlib,
|
|
||||||
then under msys cd to zlib source dir, ./cofigure && make & make install.
|
|
||||||
(I had to copy zconf.h and zlib.h to {kcad_source_dir}/kicad/minizip).
|
|
||||||
|
|
||||||
So everything in CMakeSetup.exe is set, then press Configure. If all is OK, then
|
|
||||||
press OK, otherwise try to resolve reported errors.
|
|
||||||
|
|
||||||
-----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
10) Use make to build and install kicad.
|
|
||||||
You compile Kicad here.
|
|
||||||
|
|
||||||
run cmake . (yes it is cmake space dot)
|
|
||||||
|
|
||||||
It will generate makefiles
|
|
||||||
|
|
||||||
run make
|
|
||||||
|
|
||||||
run make install
|
|
||||||
|
|
||||||
You are now done.
|
|
||||||
|
|
||||||
-----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
Note: that it is easy to build only a specific binary such as pcbnew alone:
|
|
||||||
make pcbnew
|
|
||||||
|
|
||||||
-----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
End of CMAKE related building.
|
|
Loading…
Reference in New Issue