Согласованный тип сборки в CMake и Visual Studio
Можно ли передать тип сборки (Debug, Release)
из Visual Studio в CMake? В настоящее время я делаю это вручную в два этапа:
Изменить
CMakeLists.txt
файл в верхнем каталоге проекта как:cmake_minimum_required (VERSION 3.1.0) set (MyConfig Release) set (PROJECT myProject) ...
В выпадающем меню Visual Studion я выбираю
Release
версия билда. А потом сделай сборку.
Я пытаюсь избежать ошибки выбора конфликтующих типов сборки в VS и CMake.
1 ответ
Во-первых, вы не меняете тип сборки, устанавливая переменную PROJECT
"Освободить". Это будет сделано с переменной CMAKE_BUILD_TYPE
,
CMAKE_BUILD_TYPE
переменная не должна использоваться в вашем CMakeLists.txt, но вы передаете ее вызову CMake. Передается в командной строке через cmake -DCMAKE_BUILD_TYPE=Release ..
, Это относится только к системам сборки, которые поддерживают один тип сборки. Для систем сборки, таких как Visual Studio, вам не нужно все это. Создается несколько конфигураций, и вы выбираете тип сборки в вашей IDE (выпадающий в VS).
Дальнейшее чтение: https://cmake.org/Wiki/CMake_Useful_Variables