mirror of
https://github.com/Kitware/CMake.git
synced 2025-12-31 02:39:48 -06:00
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)
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.