cmake/Tests/InstallMode
Felix Lelchuk 047d46ebdb Fix: InstallMode tests fail on some platforms
1) The ExternalProject_Add() command was called with
   UPDATE_COMMAND ";" which was not noticable on most platforms

2) On AIX/GCC, the executable did not link because symbols from
   imported libraries were assumed extern "C" (see commit 4fc47424)
2021-08-24 19:21:40 +02:00
..
subpro_a_static_lib Alternative symlink-creating mode for file(INSTALL ...) 2021-08-02 19:42:26 +02:00
subpro_b_shared_lib Fix: InstallMode tests fail on some platforms 2021-08-24 19:21:40 +02:00
subpro_c_nested_lib Fix: InstallMode tests fail on some platforms 2021-08-24 19:21:40 +02:00
subpro_d_executable Fix: InstallMode tests fail on some platforms 2021-08-24 19:21:40 +02:00
superpro Alternative symlink-creating mode for file(INSTALL ...) 2021-08-02 19:42:26 +02:00
CMakeLists.txt Alternative symlink-creating mode for file(INSTALL ...) 2021-08-02 19:42:26 +02:00
README.txt Alternative symlink-creating mode for file(INSTALL ...) 2021-08-02 19:42:26 +02:00
Subproject.cmake Fix: InstallMode tests fail on some platforms 2021-08-24 19:21:40 +02:00
Test.cmake Alternative symlink-creating mode for file(INSTALL ...) 2021-08-02 19:42:26 +02:00

README.txt

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.