Почему переменные CMake чувствительны к регистру, а команды - нет? - PullRequest
0 голосов
/ 09 марта 2020

Популярные языки, такие как C, C ++, python, k sh, всегда чувствительны к регистру для переменных и функций. Итак, я удивлен, узнав, что CMake относится к этому по-другому. В чем причина? Спасибо.

1 Ответ

0 голосов
/ 12 марта 2020

CMake переменные чувствительны к регистру , как и в других популярных языках. Однако команды CMake не чувствительны к регистру по историческим причинам и из-за строгой приверженности CMake к обратной совместимости. цитата от сопровождающего CMake, Брэда Кинга:

В древних версиях CMake требовались команды в верхнем регистре. Более поздние имена команд стали без учета регистра. Теперь предпочтительным стилем является нижний регистр.

указывает, что команды CMake использовали в верхнем регистре. Однако теперь принято использовать команды в нижнем регистре .

Многие способы поведения и соглашения из более старых версий CMake были поддержаны (и устарели) с использованием политик CMake. Команда cmake_policy позволяет разработчикам контролировать, следует ли использовать поведение old или new . Однако, насколько я знаю, нет никакой политики, определяющей чувствительность к регистру для команд CMake.

...