blob: ab4cc9727d35319e46a337c7ff20993db08eae64 (
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
|
# Solutions project
The Solutions project is designed to contain a collection of
object libraries, independent on any Creator's specific code,
ready to be a part of Qt. Kind of a staging area for possible
inclusions into Qt.
## Motivation and benefits
- Such a separation will ensure no future back dependencies to the Creator
specific code are introduced by mistake during maintenance.
- Easy to compile outside of Creator code.
- General hub of ideas to be considered by foundation team to be integrated
into Qt.
- The more stuff of a general purpose goes into Qt, the less maintenance work
for Creator.
## Conformity of solutions
Each solution:
- Is a separate object lib.
- Is placed in a separate subdirectory.
- Is enclosed within a namespace (namespace name = solution name).
- Should compile independently, i.e. there are no cross-includes
between solutions.
## Dependencies of solution libraries
**Do not add dependencies to non-Qt libraries.**
The only allowed dependencies are to Qt libraries.
Especially, don't add dependencies to any Creator's library
nor to any 3rd party library.
If you can't avoid a dependency to the other Creator's library
in your solution, place it somewhere else (e.g. inside Utils library).
The Utils lib depends on the solution libraries.
## Predictions on possible integration into Qt
The solutions in this project may have a bigger / faster chance to be
integrated into Qt when they:
- Conform to Qt API style.
- Integrate easily with existing classes / types in Qt
(instead of providing own structures / data types).
- Have full docs.
- Have auto tests.
- Have at least one example (however, autotests often play this role, too).
|