# Packaging Debug and Release #

By default CMake is model is that a build directory only contains a single
configuration, be it Debug, Release, MinSizeRel, or RelWithDebInfo.

But it is possible to setup CPack to bundle multiple build directories at the same
time to build a package that contains multiple configurations of the same project.

First we need to ahead and construct a directory called 'multi_config' this
will contain all the builds that we want to package together.

Second create a 'debug' and 'release' directory underneath 'multi_config'. At
the end you should have a layout that looks like:

─ multi_config
    ├── debug
    └── release

Now we need to setup debug and release builds, which would roughly entail
the following:

  cd debug
  cmake -DCMAKE_BUILD_TYPE=Debug ../../MultiPackage/
  cmake --build .
  cd ../release
  cmake -DCMAKE_BUILD_TYPE=Release ../../MultiPackage/
  cmake --build .
  cd ..


Now that both the debug and release builds are complete we can now use
the custom MultiCPackConfig to package both builds into a single release.

  cpack --config ../../MultiPackage/MultiCPackConfig.cmake
