Как заставить cmake использовать набор инструментов платформы Visual Studio 2015 (v140)?

#visual-c #visual-studio-2015 #cmake #visual-studio-2017

#visual-c #visual-studio-2015 #cmake #visual-studio-2017

Вопрос:

Я установил оба VS2015 и VS2017. Для проекта cmake я хочу использовать cmake для создания проекта vs2015 (platform toolset v140).

Я открыл, Developer Command Prompt for VS2015 затем я запустил cmake там. Но из выходных данных, а также из файла sln результата, я вижу, что он все еще использует набор инструментов платформы vs2017 (v141).

— Сборка для: Visual Studio 15 2017 — Идентификация компилятора C — MSVC 19.16.27027.1 — Идентификация компилятора CXX — MSVC 19.16.27027.1 — Проверка работоспособности компилятора C: C:/Program Файлы (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe — Проверьте, работает ли компилятор C: C:/Program Файлы (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe — работает

Пожалуйста, смотрите скриншот здесь: cmake vs2015

Итак, как заставить cmake использовать vs2015?

Ответ №1:

Для этого и предназначена -T опция:

-Не указывайте имя набора инструментов, если он поддерживается генератором.

Некоторые генераторы CMake поддерживают имя набора инструментов, которое присваивается собственной системе сборки для выбора компилятора. Смотрите переменную CMAKE_GENERATOR_TOOLSET. Это поддерживается только на определенных генераторах:

Генераторы Visual Studio для версий 2010 и выше, генератор Xcode для Xcode 3.0 и выше, смотрите документацию по собственной системе сборки для получения разрешенных имен наборов инструментов.

 cmake -G "Visual Studio 15 2017" -T v140
  

(Обратите внимание, что имена генераторов для Visual Studio изменились между CMake 3.13 и 3.14)

Это приведет к созданию решения Visual Studio 2017 с использованием компилятора 2015 и набора инструментов. Таким образом, при открытии решения откроется версия 2017, но код будет скомпилирован с набором инструментов 2015.

Если вы хотите использовать вместо этого IDE 2015, вы используете генератор 2015 и не указываете -T параметр.

Обратите внимание, что вы также можете установить набор инструментов v140 как часть установки VS2017, поэтому, если вы не планируете использовать более старую IDE, на самом деле нет причин для сохранения установки VS2015.

Ответ №2:

cmake -G "Visual Studio 14 2015"

убедитесь, что Windows SDK version 10.0.10586.0 установлен.

чтобы просмотреть список генераторов, запустите cmake --help