3 A typical project architecture would be :
20 │ │ │ └── macros.cmake
22 │ │ │ ├── CMakeLists.txt.sample
23 │ │ │ ├── config.cmake.sample
24 │ │ │ ├── config.xml.in.sample
25 │ │ │ └── xds-config.env.sample
29 │ │ │ │ │ └── autobuild.in
31 │ │ │ │ │ └── autobuild.in
33 │ │ │ │ └── autobuild.in
34 │ │ │ ├── config.xml.in
35 │ │ │ ├── deb-config.dsc.in
36 │ │ │ ├── deb-config.install.in
37 │ │ │ ├── debian.changelog.in
38 │ │ │ ├── debian.compat.in
39 │ │ │ ├── debian.rules.in
40 │ │ │ ├── gdb-on-target.ini.in
41 │ │ │ ├── install-wgt-on-target.sh.in
42 │ │ │ ├── start-on-target.sh.in
43 │ │ │ ├── rpm-config.spec.in
44 │ │ │ └── xds-project-target.conf.in
46 │ │ ├── icon-default.png
47 │ │ ├── icon-html5.png
48 │ │ ├── icon-native.png
50 │ │ └── icon-service.png
67 | # | Parent | Description |
68 | - | -------| ----------- |
69 | \<root-path\> | - | Path to your project. Hold master CMakeLists.txt and general files of your projects. |
70 | conf.d | \<root-path\> | Holds needed files to build, install, debug, package an AGL app project |
71 | app-templates | conf.d | Git submodule to app-templates AGL repository which provides CMake helpers macros library, and build scripts. config.cmake is a copy of config.cmake.sample configured for the projects. SHOULD NOT BE MODIFIED MANUALLY !|
72 | autobuild | conf.d | Scripts generated from app-templates to build packages the same way for differents platforms.|
73 | cmake | conf.d | Contains at least config.cmake file modified from the sample provided in app-templates submodule. |
74 | wgt | conf.d | Contains at least config.xml.in template file modified from the sample provided in app-templates submodule for the needs of project (See config.xml.in.sample file for more details). |
75 | packaging | conf.d | Contains output files used to build packages. |
76 | \<libs\> | \<root-path\> | External dependencies libraries. This isn't to be used to include header file but build and link statically specifics libraries. | Library sources files. Can be a decompressed library archive file or project fork. |
77 | \<target\> | \<root-path\> | A target to build, typically library, executable, etc. |
79 ## Manage app-templates submodule
83 You may have some news bug fixes or features available from app-templates
84 repository that you want. To update your submodule proceed like the following:
87 git submodule update --remote
88 git commit -s conf.d/app-templates
91 This will update the submodule to the HEAD of master branch repository. Save
92 the modification by commiting it in your master git project.
94 ### Checkout submodule to a git tag
96 You could just want to update at a specified repository tag or branch or commit
97 , here are the method to do so:
100 cd conf.d/app-templates
101 # Choose one of the following depending what you want
102 git checkout <tag_name>
103 git checkout --detach <branch_name>
104 git checkout --detach <commit_id>
107 git commit -s conf.d/app-templates