суббота, 21 мая 2011 г.

Организация сборки продуктов с помощью CMake

На работе мы используем CMake для сборки продуктов. При этом собираются различные конфигурации  (Release, Debug), с помощью разных компиляторов (msvc-2008, mingw-gcc-4.4.0, sparc-sunos-gcc-3.4.6, прочие компиляторы для различных устройств: iar, arm-gcc, vrxcc).

Примерная иерархия директорий со сборками выглядит так:

\---buildroot
    \---win32
        +---mingw-gcc-4.4.0
        |   +---Debug
        |   \---Release
        \---msvc-2008
            +---Debug_Dynamic
            +---Debug_Static
            +---Release_Dynamic
            \---Release_Static

Для поддержки такой иерархии написаны скрипты для автоматизации конфигурирования и сборки проекта.