Spec-Zone.ru › CMake

COMPILE_DEFINITIONS

Определения препроцессора для компиляции исходных файлов каталога.

Это свойство задаёт список параметров, переданных на данный момент команде add_compile_definitions() (или add_definitions()).

Свойству COMPILE_DEFINITIONS можно задать список определений препроцессора, разделённых точкой с запятой, используя синтаксис VAR или VAR=value. Определения в форме функции не поддерживаются. CMake автоматически экранирует значение нужным образом для нативной системы сборки (обратите внимание, что синтаксис языка CMake может требовать экранирования для указания некоторых значений).

В каждом каталоге это свойство инициализируется значением, заданным для родительского каталога.

CMake автоматически удаляет некоторые определения, не поддерживаемые нативным инструментом сборки.

Добавлено в версии 3.26: Начальные -D в элементе будут удалены.

Отказ от ответственности: большинство нативных инструментов сборки плохо поддерживают экранирование некоторых значений. В CMake предусмотрены обходные решения для многих случаев, однако некоторые значения, возможно, вообще нельзя передать корректно. Если значение, похоже, экранируется неправильно, не пытайтесь обойти проблему, добавляя к нему последовательности экранирования. В будущей версии CMake с улучшенной поддержкой экранирования ваше обходное решение может перестать работать. Вместо этого рассмотрите возможность определения макроса в (сконфигурированном) заголовочном файле. Затем сообщите об этом ограничении. Известны следующие ограничения:

#

Почти повсеместно работает некорректно.

;

Некорректно работает в VS IDE 7.0 и Borland Makefiles.

,

Некорректно работает в VS IDE.

%

В некоторых случаях некорректно работает в NMake.

& |

В некоторых случаях некорректно работает в MinGW.

^ < > \ "

В большинстве инструментов Make в Windows работает некорректно.

CMake не отклоняет эти значения безусловно, поскольку в некоторых случаях они работают. Используйте их с осторожностью.

В значениях COMPILE_DEFINITIONS можно использовать «генераторные выражения» с синтаксисом $<...>. Доступные выражения см. в руководстве cmake-generator-expressions(7). Подробнее об определении свойств системы сборки см. в руководстве cmake-buildsystem(7).

Соответствующее свойство COMPILE_DEFINITIONS_<CONFIG> можно задать для указания определений, зависящих от конфигурации. Вместо установки альтернативного свойства рекомендуется использовать генераторные выражения.

© 2000–2026 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/prop_dir/COMPILE_DEFINITIONS.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API