blob: aefaca3cdab956ee6c49b9ebd0bbd13ec6be4672 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
# Project architecture
CMake projects follow a typical file hierarchy.
The following tree structure represents a typical CMake project
directory structure:
```tree
<project-root-path>
|
├── CMakeLists.txt
│
├── autobuild/
│ ├── agl
│ │ └── autobuild
│ ├── linux
│ │ └── autobuild
│ └── windows
│ └── autobuild
├── conf.d/
│ ├── packaging/
│ │ ├── rpm
│ │ │ └── package.spec
│ │ └── deb
│ │ ├── package.dsc
│ │ ├── debian.package.install
│ │ ├── debian.changelog
│ │ ├── debian.compat
│ │ ├── debian.control
│ │ └── debian.rules
│ ├── cmake
│ │ ├── 00-debian-osconfig.cmake
│ │ ├── 00-suse-osconfig.cmake
│ │ ├── 01-default-osconfig.cmake
│ │ └── config.cmake
│ └── wgt
│ ├── icon.png
│ └── config.xml.in
├── <target>
│ └── <files>
├── <target>
│ └── <file>
└── <target>
└── <files>
```
| File or Directory | Parent | Description |
|----|----|----|
| *root_path* | n/a | CMake project root path. Holds the master CMakeLists.txt file and all general project files.
| CMakeLists.txt | The master CMakeLists.txt file.
| autobuild/ | *root_path* | Scripts generated from app-templates to build packages the same way for differents platforms.
| conf.d/ | *root_path* | Holds needed files to build, install, debug, and package an AGL application project.
| packaging/ | confd/ | Contains output files used to build packages.
| cmake/ | confd/ | Minimally contains the config.cmake file, which is modified from the sample provided in the app-templates submodule.
| wgt/ | confd/ | Contains config.xml.in and optionaly the test-config.xml.in template files that are modified from the sample provided with the CMake module for the needs of the project. For more details, see the config.xml.in.sample and test-config.xml.in.sample files.
| *target* | *root_path* | A target to build, which is typically a library or executable.
When building projects using CMake, the build process automatically detects
the `CMakeLists.txt` and `*.cmake` files.
To help with this process, the `PROJECT_SRC_DIR_PATTERN` variable
is used for recursive pattern searching from the CMake project's
*root_path* downward.
Each sub-folder below *root_path* in the project is searched and included
during compilation.
The directories matching the pattern `PROJECT_SRC_DIR_PATTERN` variable
are scanned.
**NOTE:** The `PROJECT_SRC_DIR_PATTERN` variable defaults to "*".
When the `CMakeLists.txt` file is found, the directory in which it is found
is automatically added to the CMake project.
Similarly, when a file whose extension is `.cmake` is found, the directory in
which that file resides is also added to the CMake project.
|