Можно ли настроить имя платформы решений при создании решений Visual Studio с использованием CMake?
(Примечание: все нижеперечисленное было протестировано с CMake 3.12.0 и CMake 3.15.0-rc1)
На основе тестов с некоторыми проектами с открытым исходным кодом (CEF и т. Д.), А также упрощенного демонстрационного проекта (https://github.com/cognitivewaves/CMake-VisualStudio-Example)) создается впечатление, что CMake создает файлы решений с использованием следующего шаблона (для 32-разрядных):
...
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
...
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{01234567-89AB-CDEF-0123-456789ABCDEF0}.Debug|Win32.ActiveCfg = Debug|Win32
{01234567-89AB-CDEF-0123-456789ABCDEF0}.Debug|Win32.Build.0 = Debug|Win32
{01234567-89AB-CDEF-0123-456789ABCDEF0}.Release|Win32.ActiveCfg = Release|Win32
{01234567-89AB-CDEF-0123-456789ABCDEF0}.Release|Win32.Build.0 = Release|Win32
...
EngGlobalSection
...
EndGlobal
...
Генерируется с помощью:
cmake .. -G "Visual Studio 14" -Tv140
Однако я хотел бы создать решения с использованием «x86» вместо «Win32» для имени платформы решений, чтобы соответствовать форматам по умолчанию, созданным VS 2015 (обновление 3) и VS 2019, например.
Вот так:
...
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x86 = Debug|x86
Release|x86 = Release|x86
...
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{01234567-89AB-CDEF-0123-456789ABCDEF0}.Debug|x86.ActiveCfg = Debug|Win32
{01234567-89AB-CDEF-0123-456789ABCDEF0}.Debug|x86.Build.0 = Debug|Win32
{01234567-89AB-CDEF-0123-456789ABCDEF0}.Release|x86.ActiveCfg = Release|Win32
{01234567-89AB-CDEF-0123-456789ABCDEF0}.Release|x86.Build.0 = Release|Win32
...
EngGlobalSection
...
EndGlobal
...
Указание x86 в командной строке
cmake .. -G "Visual Studio 14 x86" -Tv140
кажется неподдерживаемым (Ошибка: не удалось создать генератор имен ...).
Аналогично использованию переменной host
cmake .. -G "Visual Studio 14" -Tv140,host=x86
(ошибка с CMake 3.12.0: содержит недопустимое поле 'host = x86'; нет ошибки с CMake 3.15.0-RC1, но, похоже, тоже не оказывает влияния)
или через
cmake .. -G "Visual Studio 14" -Tv140 -DCMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE=x86
(без ошибок, но, похоже, тоже не имеет никакого эффекта)
Есть ли еще один аргумент, который я пропустил / пропустил в документации?
Спасибо, что нашли время, чтобы прочитать это и с наилучшими пожеланиями,
-Т