Пустая переменная CMAKE_BUILD_TYPE при запуске INSTALL из MSVC

Для генерация файлов сборки проекта в последнее время пользуюсь замечательной утилитой CMake.

В процессе использования утилиты наткнулся на неприятный баг. Переменная CMAKE_BUILD_TYPE при сборки из под Visual Studio 2008 всегда оказывается пустой, вне зависимости от выбранного типа сборки (Debug, Release, RelWithDebInfo).

Решение проблемы заключается в использовании макроса CMAKE_INSTALL_CONFIG_NAME. Макрос этот хитрый и в документации к CMake вы его не найдете. Он используется только в сгенерированном файле cmake_install.cmake при выполнении цели INSTALL.

Пример использования этого макроса

set( INSTALL_PREFIX ${CMAKE_CURRENT_SOURCE_DIR}/bin/\${CMAKE_INSTALL_CONFIG_NAME})

Обратите внимание на обратный слеш после «bin/», он не дает раскрыть макрос до выполнения скрипта cmake_install.cmake, который вызывается из Visual Studio 2008 при компиляции цели INSTALL

Комментариев нет

Добавить комментарий

Ваш e-mail не будет опубликован.