2 <name>Generic C++</name>
3 <description>A generic C++ project</description>
4 <icon>cpp-logo.png</icon>
5 <category>C++</category>
6 <required-program>automake</required-program>
7 <required-program>autoconf</required-program>
8 <required-program>make</required-program>
11 <page name="basic" _label="Basic information" _description="General Project Information">
12 <property type="string" name="Name" _label="Project Name:" _description="project name" default="foobar-cpp" summary="yes" restriction="filename" mandatory="yes"/>
13 <property type="string" name="Author" _label="Author:" _description="" default="[+UserName+]" mandatory="yes"/>
14 <property type="string" name="Email" _label="Email address:" _description="" default="[+EmailAddress+]" mandatory="no"/>
15 <property type="string" name="Version" _label="Version:" default="0.1" mandatory="yes"/>
18 <page name="options" _label="Project options" _description="Options for project build system">
19 <property type="directory" name="Destination" _label="Destination:" _description="" default="[+AnjutaProjectDirectory+]/[+(string-downcase (get "Name"))+]" mandatory="yes" exist="no" summary="yes"/>
20 <property type="list" name="License" _label="License" _description="Select code license" default="GPL" editable="no">
21 <item name="GPL" _label="General Public License (GPL)"/>
22 <item name="LGPL" _label="Lesser General Public License (LGPL)"/>
23 <item name="BSD" _label="Berkeley Software Distribution License (BSD)"/>
24 <item name="None" _label="No license"/>
26 <property type="hidden" name="NameUpper" default="[+(string-upcase (get "Name"))+]"/>
27 <property type="hidden" name="NameLower" default="[+(string-downcase (get "Name"))+]"/>
28 <property type="hidden" name="NameCUpper" default="[+(string->c-name! (string-substitute (string-upcase (get "Name")) " " "_"))+]"/>
29 <property type="hidden" name="NameCLower" default="[+(string->c-name! (string-substitute (string-downcase (get "Name")) " " "_"))+]"/>
30 <property type="hidden" name="NameHLower" default="[+(string-substitute (string->c-name! (string-downcase (get "Name"))) " " "-")+]"/>
31 <property type="boolean" name="HaveSharedlib" _label="Add shared library support:" _description="Adds support for building shared libraries in your project" default="1"/>
32 <property type="boolean" name="HaveI18n" _label="Add internationalization:" _description="Adds support for internationalization so that your project can have translations in different languages" default="1"/>
33 <property type="boolean" name="HavePackage" _label="Configure external packages:" _description="Use pkg-config to add library support from other packages" default="0"/>
36 [+IF (=(get "HavePackage") "1")+]
37 <page name="packages" _label="Configure external packages" _description="Configure external packages">
38 <property type="string" name="PackageModule1" _label="Require Package:" _description="Give a package name that your project require. You may also mention what is the required version of the package. For example, 'libgnomeui-2.0' or 'libgnomeui-2.0 >= 2.2.0'" mandatory="yes"/>
39 <property type="string" name="PackageModule2" _label="Require Package:" _description="Give a package name that your project require. You may also mention what is the required version of the package. For example, 'libgnomeui-2.0' or 'libgnomeui-2.0 >= 2.2.0'"/>
40 <property type="string" name="PackageModule3" _label="Require Package:" _description="Give a package name that your project require. You may also mention what is the required version of the package. For example, 'libgnomeui-2.0' or 'libgnomeui-2.0 >= 2.2.0'"/>
41 <property type="string" name="PackageModule4" _label="Require Package:" _description="Give a package name that your project require. You may also mention what is the required version of the package. For example, 'libgnomeui-2.0' or 'libgnomeui-2.0 >= 2.2.0'"/>
42 <property type="string" name="PackageModule5" _label="Require Package:" _description="Give a package name that your project require. You may also mention what is the required version of the package. For example, 'libgnomeui-2.0' or 'libgnomeui-2.0 >= 2.2.0'"/>
47 <directory source="terminal" destination="[+Destination+]">
48 <file source="AUTHORS"/>
49 <file source="ChangeLog"/>
50 <file source="Makefile.am.tpl" destination="Makefile.am"/>
52 <file source="README"/>
53 <file source="autogen.sh" executable="yes"/>
54 <file destination="[+NameHLower+].anjuta" source="project.anjuta"/>
55 <file source="cvsignore" destination=".cvsignore"/>
56 <directory source="src">
57 <file source="cvsignore" destination=".cvsignore"/>
59 [+IF (=(get "HaveI18n") "1") +]
60 <directory source="po">
61 <file source="ChangeLog"/>
62 <file source="LINGUAS" />
63 <file source="cvsignore" destination=".cvsignore"/>
67 <directory source="cpp" destination="[+Destination+]">
68 <file source="configure.ac.tpl" destination="configure.ac"/>
69 <directory source="src">
70 <file source="main.cc"/>
71 <file source="Makefile.am.tpl" destination="Makefile.am"/>
73 [+IF (=(get "HaveI18n") "1")+]
74 <directory source="po">
75 <file source="POTFILES.in"/>
79 <directory source="licenses" destination="[+Destination+]">
80 <file source="[+License+]" destination="COPYING"/>
86 <run command="sh -c "cd [+(raw-shell-str (get "Destination"))+] && ./autogen.sh""/>
87 <open file="[+Destination+]/[+NameHLower+].anjuta"/>