Я пытаюсь сгенерировать C# проект для Visual Studio 2017 с CMake 3.16.3 , но у меня возникают проблемы с настройкой C# языковой версии. Даже если я указываю его в верхней части файла CMakeLists.txt следующим образом:
target_compile_options(<MyApp> PRIVATE "/langversion:latest")
Или вот так:
set(CMAKE_CSharp_FLAGS "/langversion:latest")
Внутри файла * .csproj он всегда устанавливается следующим образом: это:
<Project>
...
<PropertyGroup>
...
<AdditionalOptions>/langversion:latest</AdditionalOptions>
...
<LangVersion>3</LangVersion>
...
</PropertyGroup>
...
</Project>
Так что, независимо от того, какое значение я там поместил, это всегда версия 3 (минимальная версия). Без указания языковой версии устанавливается значение по умолчанию, а это lastMajor, версия 7.0.
До настоящего времени единственным способом решения этой проблемы является создание Directory.Build.props файл внутри папки сборки. И это выглядит так:
<Project>
<PropertyGroup>
<LangVersion>latest</LangVersion>
</PropertyGroup>
</Project>
Я совершенно новичок в CMake, и его документация довольно сложна, поэтому я, вероятно, пропустил некоторые шаги. Или это ошибка в CMake, и есть ли у кого-нибудь лучшие решения этой проблемы?
Вот ссылка для проектов Страница Gitlab