@@ -32,7 +32,22 @@ <h1 id="≡-c-submodule-manager-gitter"><a href="#contents">≡</a> <a href="#">
3232</ ul >
3333< h2 > < a id ="contents "> </ a > < a href ="#contents "> ≡</ a > < a href ="#contents "> Contents</ a > </ h2 >
3434< ul >
35- < li > < a href ="#project-structure "> Project structure</ a > </ li >
35+ < li > < a href ="#project-structure "> Project structure</ a > < ul >
36+ < li > < a href ="#project-submodule "> A project submodule</ a > < ul >
37+ < li > < a href ="#equipment-directory "> The < code > equipment</ code > directory</ a > </ li >
38+ < li > < a href ="#internals-directory "> The < code > internals</ code > directory</ a > </ li >
39+ < li > < a href ="#provides-directory "> The < code > provides</ code > directory</ a > </ li >
40+ < li > < a href ="#requires-directory "> The < code > requires</ code > directory</ a > </ li >
41+ </ ul >
42+ </ li >
43+ < li > < a href ="#target-directory "> A target directory</ a > < ul >
44+ < li > < a href ="#library-target "> A library</ a > </ li >
45+ < li > < a href ="#testing-target "> Any number of executable tests</ a > </ li >
46+ < li > < a href ="#program-target "> An executable program</ a > </ li >
47+ </ ul >
48+ </ li >
49+ </ ul >
50+ </ li >
3651< li > < a href ="#cppsm-command "> < code > cppsm</ code > command</ a > < ul >
3752< li > < a href ="#installation "> Installation</ a > < ul >
3853< li > < a href ="#for-optional-code-formatting "> For optional code formatting</ a > </ li >
@@ -110,25 +125,36 @@ <h2><a id="contents"></a> <a href="#contents">≡</a> <a href="#contents">Conten
110125</ li >
111126</ ul >
112127< h2 > < a id ="project-structure "> </ a > < a href ="#contents "> ≡</ a > < a href ="#project-structure "> Project structure</ a > </ h2 >
113- < p > At the root of a project there are three directories as follows:</ p >
128+ < p > C++ submodule manager projects adhere to a particular structure that allows
129+ projects to be operated upon programmatically.</ p >
130+ < p > < a id ="project-submodule "> </ a > < a href ="#project-submodule "> A project submodule</ a > (or
131+ project) contains four (optional) directories as follows:</ p >
114132< ul >
115- < li > The < code > equipment</ code > directory may contain any number of < em > project submodules</ em > that
116- the project internally depends upon.</ li >
117- < li > The < code > internals</ code > directory may contain one or more < em > target directories</ em > that
118- are internal to the project.</ li >
119- < li > The < code > provides</ code > directory may contain one or more < em > target directories</ em > that are
120- provided for dependant projects.</ li >
121- < li > The < code > requires</ code > directory may contain any number of < em > project submodules</ em > that
122- the provided targets depend upon.</ li >
133+ < li > < a id ="equipment-directory "> </ a > < a href ="#equipment-directory "> The < code > equipment</ code > directory</ a >
134+ may contain any number of < em > project submodules</ em > that the project internally
135+ depends upon.</ li >
136+ < li > < a id ="internals-directory "> </ a > < a href ="#internals-directory "> The < code > internals</ code > directory</ a >
137+ may contain one or more < em > target directories</ em > that are internal to the project.</ li >
138+ < li > < a id ="provides-directory "> </ a > < a href ="#provides-directory "> The < code > provides</ code > directory</ a >
139+ may contain one or more < em > target directories</ em > that are provided for dependant
140+ projects.</ li >
141+ < li > < a id ="requires-directory "> </ a > < a href ="#requires-directory "> The < code > requires</ code > directory</ a >
142+ may contain any number of < em > project submodules</ em > that the provided targets
143+ depend upon.</ li >
123144</ ul >
124- < p > In other words, both < code > internals</ code > and < code > provides</ code > may contain one or more target
125- directories. In case only a single < code > internal</ code > or < code > provides</ code > target directory is
126- needed, there is no need to create a nested directory.</ p >
127- < p > A single < em > target directory</ em > may simultaneously contain</ p >
145+ < p > In other words, both < a href ="#internals-directory "> < code > internals</ code > </ a > and
146+ < a href ="#provides-directory "> < code > provides</ code > </ a > may contain one or more target directories. In
147+ case only a single target is needed, there is no need to create a nested
148+ directory structure inside of them.</ p >
149+ < p > < a id ="target-directory "> </ a > < a href ="#target-directory "> A target directory</ a > may
150+ simultaneously contain:</ p >
128151< ul >
129- < li > a library in the < code > include/${name}</ code > and < code > library</ code > directories,</ li >
130- < li > any number of executable tests in the < code > testing</ code > directory, and</ li >
131- < li > an executable program in the < code > program</ code > directory.</ li >
152+ < li > < a id ="library-target "> </ a > < a href ="#library-target "> A library</ a > in the
153+ < code > include/${name}</ code > and < code > library</ code > directories.</ li >
154+ < li > < a id ="testing-target "> </ a > < a href ="#testing-target "> Any number of executable tests</ a >
155+ in the < code > testing</ code > directory.</ li >
156+ < li > < a id ="program-target "> </ a > < a href ="#program-target "> An executable program</ a > in the
157+ < code > program</ code > directory.</ li >
132158</ ul >
133159< p > Try the < a href ="#cppsm-init-hello "> < code > cppsm init-hello</ code > </ a > script. It generates a simple
134160example project that has essentially the following structure:</ p >
0 commit comments