Add cmake to windows path

Содержание
  1. How to set runtime PATH for CMake custom command on Windows
  2. 2 Answers 2
  3. 1. Using global variable CMAKE_MSVCIDE_RUN_PATH
  4. 2. Setting the PATH explicitly using two COMMAND parameters
  5. 4. Launch the custom command through CMake wrapper
  6. Полное руководство по CMake. Часть первая: Синтаксис
  7. Запуск CMake
  8. Команды
  9. Аргументы
  10. Комментарии
  11. Переменные
  12. Опции
  13. Логические выражения
  14. Условные операторы
  15. Циклы
  16. Функции и макросы
  17. Разбор аргументов
  18. Области видимости
  19. Заключение
  20. Введение в CMake
  21. Пример 1. Hello, World:
  22. Пример 2. Библиотеки:
  23. Пример 3. Подпроекты:
  24. Пример 4. Поиск библиотек:
  25. Пример 5. Внешние библиотеки и объектные файлы:
  26. Генераторы:
  27. Заключение:
  28. Настройка параметров сборки CMake Customize CMake build settings
  29. Общие параметры CMake CMake General Settings
  30. Имя конфигурации Configuration name
  31. Тип конфигурации Configuration type
  32. Набор инструментов Toolset
  33. Файл цепочки инструментов CMake CMake toolchain file
  34. Корневой путь к сборке Build root
  35. аргументы команды. Command arguments
  36. Аргументы команд CMake CMake command arguments
  37. Аргументы команд сборки Build command arguments
  38. Аргументы команд CTest CTest command arguments
  39. Общие параметры для удаленных сборок General settings for remote builds
  40. Аргументы команды rsync rsync command arguments
  41. Переменные и кэш CMake CMake variables and cache
  42. Дополнительные параметры Advanced settings
  43. Генератор CMake CMake generator
  44. Режим IntelliSense IntelliSense mode
  45. Каталог установки Install directory
  46. Исполняемый файл CMake CMake executable
  47. Удаленный корневой каталог CMakeLists.txt Remote CMakeLists.txt root
  48. Удаленный корневой каталог установки Remote install root
  49. Удаленное копирование источников Remote copy sources
  50. Прямое изменение CMakeSettings.json Directly edit CMakeSettings.json

How to set runtime PATH for CMake custom command on Windows

I’m trying to port a *nix, CMake-based project to Windows. One header file needed by the main library is generated by a custom program, so the CMakeLists.txt file contains something like this:

On Windows, however, these kind of libraries are usually not installed into the system but are rather just extracted or compiled into some arbitrary directory in or near the build tree. In order for TableGenerator to run, the foo.dll would need to be available in or copied to one of the Dynamic-Link Library Search Order paths (say %WINDIR%\System32 or the build output directory for TableGenerator ), which is not desirable.

How can I set the PATH environment variable for the custom command, i.e. to be used not during the CMake run but during the actual custom build step runtime?

2 Answers 2

While still doing my research in order to ask the question properly, I have found three solutions. Considering how hard it was to find this information, I decided to post the question and answer here anyway.

1. Using global variable CMAKE_MSVCIDE_RUN_PATH

There is a special variable dedicated to solving this exact problem – CMAKE_MSVCIDE_RUN_PATH. If set, it results in a line like this being added to the custom build step script:

So all that’s needed then is something like this at a good place:

I have originally noticed this variable only in CMake sources, because it used to be undocumented until CMake 3.10. So you might not be able to find it in documentation for older versions of CMake, but don’t worry, it’s been supported since 2006.

Advantages:
▪ Can be enabled at one central place
▪ No change at all in any of the add_custom_command() commands elsewhere is needed
▪ Only the path itself is set, no batch commands need to be written explicitly
▪ The obvious choice with clear name and intent

Disadvantages:
▪ Global for the whole CMake project and all custom commands
▪ Works with the «Visual Studio 9 2008» and above generators only

2. Setting the PATH explicitly using two COMMAND parameters

The script being generated for the custom build step in Visual Studio contains some prologue, then the commands themselves and then some epilogue. Wouldn’t it be possible to simply add set PATH=. before the real command through another COMMAND parameter?

COMMAND
Specify the command-line(s) to execute at build time. If more than one COMMAND is specified they will be executed in order, but not necessarily composed into a stateful shell or batch script.

So no, that’s not guaranteed to be possible. But the Visual Studio project generator actually does it like this, i.e. the individual commands are just appended one after another, so the following does the job:

Advantages:
▪ The PATH can be changed for each custom command explicitly

Disadvantages:
▪ Relies on an undocumented behavior of the generator
▪ It’s necessary to rewrite the whole command for Windows and keep both versions in sync
▪ Each custom command must be changed explicitly

To run a full script, use the configure_file() command or the file(GENERATE) command to create it, and then specify a COMMAND to launch it.

This is a bit messy because of the additional temporary files and commands:

Notice the awkward way of sending the path to the executable as an argument. This is necessary because the script is writen once, but TableGenerator might be in different locations for different configurations (debug and release). If the generator expression was used directly in the content, a CMake error would be printed and the project would not build correctly for all but one configuration.

Advantages:
▪ The PATH can be changed for each custom command explicitly
▪ A fully documented and recommended solution

Disadvantages:
▪ Very noisy in the CMakefiles
▪ It’s necessary to rewrite the whole command for Windows and keep both versions in sync
▪ Each custom command must be changed explicitly

4. Launch the custom command through CMake wrapper

See the other answer below contributed by Dvir Yitzchaki.

I had personally settled on the solution #1 because it was clean and simple, even before it got properly documented and supported by CMake in version 3.10. It should be the best way forward for you as well, unless you need to do something even more special.

Источник

Полное руководство по CMake. Часть первая: Синтаксис

CMake — это открытый и кросс-платформенный набор утилит, предназначенных для автоматизации тестирования, компиляции и создания пакетов проектов на C/C++. Написав однажды небольшой и понятный всем скрипт, Вы тем самым обеспечите одинаковую сборку Вашего проекта на любых платформах, где доступен CMake.

Язык CMake, будучи транслированным в нативный файл сборки (например, Makefile или Ninja), определяет процесс всего управления проектом. В Вашем распоряжении, с функциональной стороны, есть лишь команды, которые могут образовываться в довольно сложные конструкции. С них мы и начнём.

Читайте также:  Windows whql support что это

Запуск CMake

Ниже приведены примеры использования языка CMake, по которым Вам следует попрактиковаться. Экспериментируйте с исходным кодом, меняя существующие команды и добавляя новые. Чтобы запустить данные примеры, установите CMake с официального сайта.

Команды

Команды в CMake подобны функциям во многих языках программирования. Чтобы вызвать команду, необходимо написать её имя, а затем передать ей обрамлённые в круглые скобки аргументы, отделённые символами пробелов. В приведённом примере команде message передаются шесть аргументов для вывода в консоль:

Аргументы

Аргументы, обрамлённые в двойные кавычки, позволяют внутри себя совершать экранирование и подстановку переменных. Необрамлённые аргументы не позволяют производить подобных вещей и не могут включать в себя символы ()#»\ и пробелы, однако более удобны для использования. Пример:

Комментарии

Комментарии начинаются с символа решётки и заканчиваются в конце той строки, где они были напечатаны. Текст, заключённый в комментариях, игнорируется системой сборки и не оказывает никакого эффекта на её работу. Примеры выше также демонстрируют использование комментариев.

Переменные

Опции

Логические выражения

Прежде чем приступать к изучению условных операторов и циклических конструкций, необходимо понимать работу логических выражений. Логические выражения используются при проверки условий и могут принимать одно из двух значений: правда или ложь. Например, выражение 52 LESS 58 обратится в правду, так как 52 88 EQUAL 88 обратится в правду, 63 GREATER 104 обратится в ложь. Сравнивать можно не только числа, но и строки, версии, файлы, принадлежность к списку и регулярные выражения. Полный список логических выражений можно посмотреть тут.

Условные операторы

Условные операторы в CMake работают в точности как в других языках программирования. В данном примере сработает лишь первый условный оператор, который проверяет, что 5 > 1. Второе и третье условия ложны, так как 5 не может быть меньше или равняться одному. Блоки команд elseif и else необязательны, а endif обязательна и сигнализирует о завершении предыдущих проверок.

Циклы

Функции и макросы

Синтаксис CMake позволяет определять собственные команды, которые можно будет вызывать в точности как встроенные. Приведённый ниже пример демонстрирует использование функций и макросов: сначала определяются функция и макрос со своими собственными командами, а при их вызове их команды исполняются последовательно.

Команда function первым аргументов принимает имя будущей функции, а остальные аргументы — это имена параметров, с которыми можно работать как с обычными переменными. Параметры видимы лишь определяемой функции, значит вне функции доступ к её параметрам мы получить не можем. Более того, все другие переменные, определяемые и переопределяемые внутри функции, видны лишь ей самой.

Макросы аналогичны функциям за тем исключением, что они не имеют собственной области видимости: все переменные внутри макросов рассматриваются как глобальные. Более подробно о различиях макросов и функций Вы можете почитать здесь.

Разбор аргументов

Как отметили в комментариях, Мощный механизм cmake_parse_arguments позволяет производить разбор аргументов, переданных в функцию или макрос.

Данная команда принимает префикс, используемый в определении переменных (смотреть следующий абзац), список опций, используемых без последующих значений, список ключевых слов, после которых следует одно значение, список ключевых слов, после которых следуют множества значений и список всех значений, переданных в функцию или макрос.

Работа механизма разбора аргументов заключается в преобразовании полученных аргументов в значения переменных. Таким образом, рассмотренная команда для каждой опции и ключевого слова определяет собственную переменную вида

Области видимости

В предыдущем разделе Вы узнали о том, что некоторые конструкции в CMake могут определять собственные области видимости. На самом деле, все переменные по умолчанию считаются глобальными (доступ к ним есть везде), за исключением тех, которые были определены и переопределены в функциях. Также имеются кэш-переменные, у которых своя собственная область видимости, но они применяются не столь часто.

Заключение

На этом синтаксис языка CMake заканчивается. Следующая статья выйдет примерно через пару дней и будет вводить в использование системы сборки CMake. До скорых встреч!

Источник

Введение в CMake

CMake — кроcсплатформенная утилита для автоматической сборки программы из исходного кода. При этом сама CMake непосредственно сборкой не занимается, а представляет из себя front-end. В качестве back-end`a могут выступать различные версии make и Ninja. Так же CMake позволяет создавать проекты для CodeBlocks, Eclipse, KDevelop3, MS VC++ и Xcode. Стоит отметить, что большинство проектов создаются не нативных, а всё с теми же back-end`ами.

Для того что бы собрать проект средствами CMake, необходимо в корне дерева исходников разместить файл CMakeLists.txt, хранящий правила и цели сборки, и произвести несколько простых шагов.
Разберёмся на примерах.

Пример 1. Hello, World:

Синтаксис CMake похож на синтаксис bash, всё что после символа «#» является комментарием и обрабатываться программой не будет. CMake позволяет не засорять дерево исходных кодов временными файлами — очень просто и без лишних телодвижений сборка производится «Out-of-Source».

Создадим пустую директорию для временных файлов и перейдём туда.

$ mkdir tmp
fshp@panica-desktop:

$ cd tmp/
fshp@panica-desktop:

/cmake/example_1/

— Build files have been written to: /home/fshp/tmp
fshp@panica-desktop:

/tmp$ ls
CMakeCache.txt CMakeFiles cmake_install.cmake Makefile
fshp@panica-desktop:

/tmp$ make
Scanning dependencies of target main
[100%] Building CXX object CMakeFiles/main.dir/main.cpp.o
Linking CXX executable main
[100%] Built target main
fshp@panica-desktop:

Итак, наша программа собралась.
Папку tmp можно очищать\удалять без риска поломать исходники. Если CMakeLists.txt был изменен, то вызов make автоматически запустит cmake. Если исходники были перемещены, то нужно очистить временную директорию и запустить cmake вручную.

Пример 2. Библиотеки:

Переменные могут хранить списки значений, разделённых пробелами\табуляциями\переносами:

Оба варианта правильные
Что бы получить значение переменной ипользуем конструкцию:

Итак, эта версия нашего проекта включает в себя одну статическую библиотеку, собираемую из исходников. Если заменить «STATIC» на «SHARED», то получим библиотеку динамическую. Если тип библиотеки не указать, по умолчанию она соберётся как статическая.
При линковке указываются все необходимые библиотеки:

Как и при ручной компиляции, имена библиотек указываются без стандартного префикса «lib».
Итак, сборка библиотек с CMake не вызывает проблем, при этом тип библиотеки статическая\динамическая меняется лишь одним параметром.

Пример 3. Подпроекты:

В файле подпроекта ничего нового для вас нет. А вот в основном файле новые команды:

main.cpp мы не меняли, а foo.h перенесли. Команда указывает компилятору, где искать заголовочные файлы. Может быть вызвана несколько раз. Хидеры будут искаться во всех указаных директориях.

Читайте также:  Nextcloud windows server 2016

Указываем директорию с подпроектом, который будет собран как самостоятельный.
Вывод: проекты на CMake можно объединять в довольно сложные иерархические структуры, причем каждый подпроект в реальности является самостоятельным проектом, который в свою очередь может сам состоять из подпроектов. Это позволяет легко разбить вашу программу на необходимое количество отдельных модулей. Примером такого подхода может служить KDE.

Пример 4. Поиск библиотек:

CMake обладает достаточно развитыми средствами поиска установленых библиотек, правда они не встроеные, а реализованы в виде отдельных модулей. В стандартной поставке довольно много модулей, но некоторые проекты (например Ogre) поставляют свои. Они позволяют системе автоматически определить наличие необходимых для линковки проекта библиотек.
На debian модули располагаются в /usr/share/cmake-2.8/Modules/ (у вас версия может отличаться). За поиск библиотек отвечают модули, называющиеся FindNAME.cmake, где NAME — имя библиотеки.

Думаю, смысл должен быть понятен. Первый и второй блок — поиск библиотеки. Если в системе её нет, выведется сообщение об ошибке и завершается выполнение cmake. Третий блок похож, только он ищет не целый пакет библиотек, а лишь необходимый компонент. Каждый такой автоматизированый поиск определяет после выполнения как минимум 3 переменные:
SDL_FOUND, LIBXML2_FOUND, Boost_FOUND — признак присутствия бибилиотеки;
SDL_LIBRARY, LIBXML2_LIBRARIES, Boost_LIBRARIES — имена библиотек для линковки;
SDL_INCLUDE_DIR, LIBXML2_INCLUDE_DIR, Boost_INCLUDE_DIRS — пути к заголовочным файлам.
Если с первыми более или менее понятно, то вторые и третьи мне доставили много хлопот — половина имеет имена в единственном числе, половина — во множественном. Но оказалось, это легко отследить. В каждом модуле вначале есть коментарии, там описаны определяемые переменные. Посмотрите, например, /usr/share/cmake-2.8/Modules/FindLibXml2.cmake
Как видите, CMake способен сам определить наличие и местоположение необходимых библиотек и заголовочных файлов. В принципе, это должна уметь любая система автоматической сборки, иначе смысл в ней?

Пример 5. Внешние библиотеки и объектные файлы:

Если вы пишите для «дяди», а злой «дядя» любит самописные библиотеки и делиться исходниками не желает, поэтому присылает готовую библиотеку, то вы по адресу.
Объектные файлы в CMake стоят на ряду с исходниками — достаточно включить объектник в список файлов для компиляции.
С библиотеками потуже. Как известно, статическая библиотека это не что иное, как ar-архив, внутри которого лежат обычные объектники, никак не связаные между собой. Вы, наверное, уже догадались, как я поступал сначала. Да, просто потрошил библиотеку. Но потом был найден способ поэлегантнее:

Слово «IMPORTED», указывает, что библиотека берётся извне.
В CMake каждая цель имеет параметры, а set_property позволяет их изменять.
Линкуется такая библиотека стандартно:

Для динамических библиотек все аналогично, только тип «SHARED», расширение — «.so».
К сожалению, поддержка несистемных библиотек реализована немного костыльно. Возможно, я просто не знаю правильного варианта, поэтому буду рад, если «ткнете мордочкой». С другой стороны это не навороченый экзоскелет с системой жизнеобеспечения, а простейший костыль из двух строк.

Генераторы:

Заключение:

Это не перевод мануала, а результат использования CMake в одном коммерческом проекте. Буду рад, если статья поможет хотя бы одному человеку — на русском языке подобной документации довольно мало.

Источник

Настройка параметров сборки CMake Customize CMake build settings

В Visual Studio 2019 и более поздних версий можно добавлять конфигурации и настраивать их параметры с помощью редактора параметров CMake. In Visual Studio 2019 and later, you can add configurations and customize their settings by using the CMake settings editor. Редактор является упрощенной альтернативой редактирования файла CMakeSettings.json вручную, но если вы предпочитаете редактировать файл напрямую, щелкните ссылку Изменить JSON в правом верхнем углу редактора. The editor is intended to be a simpler alternative to manually editing the CMakeSettings.json file, but if you prefer to edit the file directly, you can click the Edit JSON link in the upper right of the editor.

Чтобы открыть редактор, перейдите в раскрывающееся меню Конфигурация на главной панели инструментов и выберите Управление конфигурациями. To open the editor, click on the Configuration drop-down in the main toolbar and choose Manage Configurations.

Откроется редактор параметров с установленными конфигурациями слева. Now you see the Settings Editor with the installed configurations on the left.

Visual Studio предоставляет одну конфигурацию x64-Debug по умолчанию. Visual Studio provides one x64-Debug configuration by default. Вы можете добавить дополнительные конфигурации, щелкнув зеленый знак плюса. You can add additional configurations by clicking the green plus sign. Параметры, отображаемые в редакторе, зависят от выбранной конфигурации. The settings that you see in the editor might vary depending on which configuration is selected.

Параметры, которые выбираются в редакторе, записываются в файл с именем CMakeSettings.json. The options that you choose in the editor are written to a file called CMakeSettings.json. Этот файл предоставляет аргументы командной строки и переменные среды, передаваемые CMake при сборке проектов. This file provides command-line arguments and environment variables that are passed to CMake when you build the projects. Visual Studio никогда не изменяет файл CMakeLists.txt автоматически. Посредством CMakeSettings.json вы можете настроить сборку в Visual Studio, не изменяя файлы проекта CMake, чтобы другие члены вашей команды использовали их с помощью любых инструментов. Visual Studio never modifies CMakeLists.txt automatically; by using CMakeSettings.json you can customize the build through Visual Studio while leaving the CMake project files untouched so that others on your team can consume them with whatever tools they’re using.

Общие параметры CMake CMake General Settings

Следующие параметры доступны под заголовком Общие: The following settings are available under the General heading:

Имя конфигурации Configuration name

Тип конфигурации Configuration type

Соответствует параметру configurationType. Corresponds to the configurationType setting. Определяет тип конфигурации сборки для выбранного генератора. Defines the build configuration type for the selected generator. Сейчас поддерживаются значения Debug, MinSizeRel, Release и RelWithDebInfo. Currently supported values are «Debug», «MinSizeRel», «Release», and «RelWithDebInfo». Сопоставляется с CMAKE_BUILD_TYPE. It maps to CMAKE_BUILD_TYPE.

Набор инструментов Toolset

Соответствует параметру inheritedEnvironments. Corresponds to the inheritedEnvironments setting. Определяет среду компилятора, которая используется для сборки выбранной конфигурации. Defines the compiler environment that’s used to build the selected configuration. Поддерживаемые значения зависят от типа конфигурации. Supported values depend on the type of configuration. Чтобы создать пользовательскую среду, щелкните ссылку Изменить JSON в правом верхнем углу редактора параметров и измените файл CMakeSettings.json напрямую. To create a custom environment, choose the Edit JSON link in the upper right corner of the Settings editor, and edit the CMakeSettings.json file directly.

Читайте также:  Drivers windows xp samsung nc10

Файл цепочки инструментов CMake CMake toolchain file

Корневой путь к сборке Build root

Соответствует buildRoot. Corresponds to buildRoot. Сопоставляется с параметром CMAKE_BINARY_DIR и указывает, где будет создан кэш CMake. Maps to CMAKE_BINARY_DIR, and specifies where to create the CMake cache. Если указанная папка не существует, она будет создана. The specified folder is created if it doesn’t exist.

аргументы команды. Command arguments

Следующие параметры доступны под заголовком Аргументы команд: The following settings are available under the Command arguments heading:

Аргументы команд CMake CMake command arguments

Соответствует cmakeCommandArgs. Corresponds to cmakeCommandArgs. Задает дополнительные параметры командной строки, передаваемые в CMake.exe. Specifies any additional command line options passed to CMake.exe.

Аргументы команд сборки Build command arguments

Аргументы команд CTest CTest command arguments

Соответствует ctestCommandArgs. Corresponds to ctestCommandArgs. Задает дополнительные параметры командной строки, передаваемые CTest при запуске тестов. Specifies additional command line options to pass to CTest when running tests.

Общие параметры для удаленных сборок General settings for remote builds

Для таких конфигураций, как Linux, которые используют удаленные сборки, также доступны следующие параметры: For configurations such as Linux that use remote builds, the following settings are also available:

Аргументы команды rsync rsync command arguments

Дополнительные параметры командной строки, передаваемые в rsync, быстрое и универсальное средство копирования файлов. Additional command line options passed to rsync, a fast and versatile file-copying tool.

Переменные и кэш CMake CMake variables and cache

Эти параметры позволяют задать переменные CMake и сохранить их в CMakeSettings.json. These settings enable you to set CMake variables and save them in CMakeSettings.json. Они передаются в CMake во время сборки и переопределяют любые значения в файле CMakeLists.txt. They’re passed to CMake at build time, and override whatever values are in the CMakeLists.txt file. Этот раздел можно использовать так же, как вы используете CMakeGUI для просмотра списка всех доступных для изменения переменных CMake. You can use this section in the same way that you might use the CMakeGUI to view a list of all the CMake variables available to edit. Нажмите кнопку Сохранить и создать кэш, чтобы просмотреть список всех переменных CMake, доступных для редактирования, включая дополнительные переменные (для CMakeGUI). Click the Save and generate cache button to view a list of all CMake variables available to edit, including advanced variables (per the CMakeGUI). Вы можете отфильтровать список по имени переменной. You can filter the list by variable name.

Дополнительные параметры Advanced settings

Генератор CMake CMake generator

Так как генератор Ninja предназначен для ускорения сборки в ущерб гибкости и функциональности, он используется по умолчанию. Because Ninja is designed for fast build speeds instead of flexibility and function, it’s set as the default. Однако некоторые проекты CMake могут быть неспособны использовать Ninja правильно. However, some CMake projects may be unable to correctly build using Ninja. В этом случае можно указать CMake, что необходимо создать проект Visual Studio. If that occurs, you can instruct CMake to generate a Visual Studio project instead.

Режим IntelliSense IntelliSense mode

Режим, используемый подсистемой IntelliSense. The IntelliSense mode used by the IntelliSense engine. Если он не выбран, Visual Studio наследует режим от указанного набора инструментов. If no mode is selected then Visual Studio will inherit from the specified toolset.

Каталог установки Install directory

Каталог, в котором CMake устанавливает целевые объекты. The directory in which CMake installs targets. Соответствует CMAKE_INSTALL_PREFIX. Maps to CMAKE_INSTALL_PREFIX.

Исполняемый файл CMake CMake executable

Полный путь к исполняемому файлу программы CMake, включая имя файла и расширение. The full path to the CMake program executable, including the file name and extension. Позволяет использовать настраиваемую версию CMake с Visual Studio. It allows you to use a custom version of CMake with Visual Studio. Для удаленных сборок укажите расположение CMake на удаленном компьютере. For remote builds, specify the CMake location on the remote machine.

Для таких конфигураций, как Linux, которые используют удаленные сборки, также доступны следующие параметры: For configurations such as Linux that use remote builds, the following settings are also available:

Удаленный корневой каталог CMakeLists.txt Remote CMakeLists.txt root

Каталог на удаленном компьютере, который содержит корневой файл CMakeLists.txt. The directory on the remote machine that contains the root CMakeLists.txt file.

Удаленный корневой каталог установки Remote install root

Каталог на удаленном компьютере, в который CMake устанавливает целевые объекты. The directory on the remote machine in which CMake installs targets. Соответствует CMAKE_INSTALL_PREFIX. Maps to CMAKE_INSTALL_PREFIX.

Удаленное копирование источников Remote copy sources

Указывает, следует ли копировать исходные файлы на удаленный компьютер, и позволяет указать, следует ли использовать rsync или sftp. Specifies whether to copy source files to the remote machine, and lets you specify whether to use rsync or sftp.

Прямое изменение CMakeSettings.json Directly edit CMakeSettings.json

Вы также можете напрямую изменить CMakeSettings.json для создания настраиваемых конфигураций. You can also directly edit CMakeSettings.json to create custom configurations. В редакторе параметров есть кнопка Изменить JSON в правом верхнем углу, которая открывает файл для редактирования. The Settings Editor has an Edit JSON button in the upper right that opens the file for editing.

Ниже приведен пример конфигурации, который можно использовать в качестве отправной точки: The following example shows a sample configuration, which you can use as a starting point:

JSON IntelliSense помогает изменить файл CMakeSettings.json: JSON IntelliSense helps you edit the CMakeSettings.json file:

Редактор JSON также уведомляет о выборе несовместимых параметров. The JSON editor also informs you when you choose incompatible settings.

Дополнительные сведения обо всех свойствах в файле см. в разделе Справочник по схеме CMakeSettings.json. For more information about each of the properties in the file, see CMakeSettings.json schema reference.

Visual Studio 2017 предоставляет несколько конфигураций CMake, которые определяют, как вызывается CMake.exe для создания кэша CMake для данного проекта. Visual Studio 2017 provides several CMake configurations that define how CMake.exe is invoked to create the CMake cache for a given project. Чтобы добавить новую конфигурацию, щелкните раскрывающийся список конфигурации на панели инструментов и выберите Управление конфигурациями. To add a new configuration, click the configuration drop-down in the toolbar and choose Manage Configurations:

Можно выбрать из списка стандартных конфигураций: You can choose from the list of predefined configurations:

Источник

Поделиться с друзьями
Советы экспертов и специалистов
Adblock
detector