Project settings
In this menu, you can fill the information about your project. Whenever you
start a new project, the Project Settings Windows will pop up and you'll have
to enter some options, like the project directories, compilation options, ...
If you want to change this information during the development of your project,
you can access this windows from the "Project Menu".
You can find the following options in this window:
- "General" Tab:
WARNING: Don't use special characters (non-ascii) for project name.
- Name: Name of the project.
- Version: Current version. This is used for the "--version" option of the
command line, for example.
- Author: You ;-)
- e-mail: Your e-mail adress.
- Languaje: The languaje of the project.

- "Files" Tab:
In this tab you can choose the directories where the project will be stored,
as well as some other options.
WARNING: Don't use special characters (non-ascii) for executable and
file names.
- Executable's Name: The name of the executable of the project
- Project's Directory: The directory where the project files will be stored.
- Source's Directory: The directory where the source files (sources and
headers) will be stored.
- Pixmap's Directory: The directory where the project pixmaps will be stored.
- Data Directory: The directory where project data files will be stored.
- Docs Directory: The directory where documents will be stored. Manuals and other information that you think users will need.
- Glade's project file: If your project is going to have a GUI, you must
select this option and especify a name for the glade project file
- Create a header for every source file: Select this option if you want
DiaSCE to automatically create a header file for every new source file you create.
- Add GNU header to every file: Select this option if you want the GNU header
to be added to the beginning of every file you create.
- Add "#ifndef _HEADER_H"...: Select this option if you want DiaSCE to
automatically add "#ifndef _HEADER_H_", "#define _HEADER_H_" and "#endif" to
every new header file of the project.

- "Libraries" Tab:
In this tab you can select the libraries your project will be linked against.
If you select one of the libraries listed in this tab, and that library
depends on another ones, the dependencies will be selected too. You can also
especify libraries that are not listed in this window, by using the text
entries at the bottom:
- Others: Other libraries to link against
- Libraries Path: Aditional paths to libraries for linking
- Headers Path: Aditional paths to headers for compilation
Note: You must enter the (-l, -L, -I) too, for example:
- Others: -lglib-2.0 -lm -latk-1.0
- Libraries Path: -L/usr/lib
- Headers Path: -I/usr/include/gkt-2.0

- "Gettext" Tab:
In this tab you can add gettext support to your project. Doing this, all the necesary files and directories will be added to the project.
In the entry you have to write the languages your project supports separated by spaces ( ES EN FR ... ).

- "Warnings" Tab:
In this tab, you can select the warning levels you want to use to compile your
project. You can select individual warnings, or you can select all the
warnings by choosing -Wall at the top.

- "Compiler" Tab:
In this tab you can select the following options:
- Optimize: Select this option if you want optimization to be added to the
compilation of your project
- Level: Level of optiomization selected.
- CPU optimization: This will add code in the configure.ac file to try to detect the cpu where the project is being compiled and will add optimizations for that cpu. Because all versions of gcc do not support all cpus, a check is added so if gcc does not support the detected CPU, no optimizations for that CPU are added. The optimizations added for the different CPUs are:
- 386 DX: -march=i386
- 386 SX: -march=i386
- 386 CX: -march=i386
- 386 EX: -march=i386
- 386 SL: -march=i386
- 486 DX: -march=i486
- 486 SX: -march=i486
- 487: -march=i486
- 486 DX2: -march=i486
- 486 SL: -march=i486
- 486 SX2: -march=i486
- 486 DX4: -march=i486
- Pentium: -march=pentium
- Pentium MMX: -march=pentium-mmx
- Pentium Pro: -march=pentiumpro
- Pentium II: -march=pentium2
- Celeron: -march=pentium2
- Pentium III (Coppermine): -march=pentium3
- Pentium IV: -march=pentium4
- AMD-K5: -march=i586
- AMD-K6: -march=k6
- AMD-K6 II: -march=k6-2
- AMD-K6 III: -march=k6-3
- AMD Athlon: -march=Athlon
- AMD Athlon 4: -march=Athlon
- AMD Duron: -march=Athlon
- AMD Athlon XP: -march=Athlon
- AMD Athlon MP: -march=Athlon
For all CPUs, the following options will be added if detected:
- -mfpmath=387 or -mfpmath=sse
- -mmmx
- -msse or -msse2
- -m3dnow
If you have a processor not listed in here, please send a mail to diasce@es.gnome.org telling us which processor do you have, the output of 'uname -p' and 'uname -m', and a copy of /proc/cpuinfo, and we will add it to the list.
- Add debugging information: Select this option if you want your project to
be compiled with debugging information.
- Level: The debugging level selected
- Link with electric-fence: If you have electric-fence instaled, you can
select this option to have your project linked against it for debugging
purposes.
- Additional options: Additional options you want to pass to the compiler.

- "CVS" Tab:
- Enable CVS: This will allow you to use the CVS support implemented in DiaSCE.
- CVSROOT: Here you have to enter the cvsroot of your project ( :pserver:ander@cvs.es.gnome.org:/home/cvs/gnome )
- Module: Here you have to enter the module name of your project ( diasce )
- Compression: This is the compression level that you want to use in the comunication with the CVS server
- Update when opening a project: This will run the update command automaticaly each time you open your project
- Add and remove files when they are added and removed from the project: This will automaticaly run update or remove when you add or remove a file from the project.

- "configure.ac" Tab:
If you enable this option, the text in the textview below will be added to the configure.ac file. The text will be added at the end of the file, just before the creation of the Makefile. That will allow you to modify any of the variables created.
