summaryrefslogtreecommitdiffstats
path: root/Tests/InstallMode/README.txt
blob: a4316ebb530df4782221f5cc2a0b9bf6036ad54d (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
This is an example superbuild project to demonstrate the use of the
CMAKE_INSTALL_MODE environment variable on.

The project hierarchy is like (B = Builds / D = Link Dependency):

+---------------------------------------------------------------------+
|                           Superbuild (Top)                          |
+---------------------------------------------------------------------+
        |                 |                 |                 |
        |                 |                 |                 |
       (B)               (B)               (B)               (B)
        |                 |                 |                 |
        v                 v                 v                 v
+---------------+ +---------------+ +---------------+ +---------------+
| A: Static Lib | | B: Shared Lib | | C: Nested     | | D: Executable |
|    Project    | |    Project    | |    Superbuild | |    Project    |
+---------------+ +---------------+ +---------------+ +---------------+
        ^               ^               |       |        |   |   |
        |               |              (B)     (B)       |   |   |
        |               |               |       |        |   |   |
        |               |               v       |        |   |   |
        |               |  +----------------+   |        |   |   |
        |               |  | C1: Static Lib |   |        |   |   |
        |               |  |     Project    |   |       (D) (D) (D)
        |               |  +----------------+   |        |   |   |
        |               |       ^               |        |   |   |
        |               |       |               v        |   |   |
        |               |      (D) +----------------+    |   |   |
        |               |       |  | C2: Static Lib |<---+   |   |
        |               |       +--|     Project    |        |   |
        |               |          +----------------+        |   |
        |               |                                    |   |
        |               +------------------------------------+   |
        |                                                        |
        +--------------------------------------------------------+

The superbuild system is built on top of ExternalProject_Add().

NOTE that the subprojects will configure, build and install
during the build phase ('make') of the top-level project.
There is no install target in the top-level project!
The CMAKE_INSTALL_PREFIX is therefore populated during the build
phase already.