Генераторы CMake не все есть? - PullRequest
0 голосов
/ 12 октября 2018

Я пытаюсь найти генераторы Visual Studio на моей платформе установки cmake.Если это важно, я работаю в Linux, но немного сбит с толку, почему генераторы Visual Studio будут зависеть от системы.

https://cmake.org/cmake/help/latest/manual/cmake-generators.7.html

Запуск cmake --help приводит к:

The following generators are available on this platform:
  Unix Makefiles               = Generates standard UNIX makefiles.
  Ninja                        = Generates build.ninja files.
  Watcom WMake                 = Generates Watcom WMake makefiles.
  CodeBlocks - Ninja           = Generates CodeBlocks project files.
  CodeBlocks - Unix Makefiles  = Generates CodeBlocks project files.
  CodeLite - Ninja             = Generates CodeLite project files.
  CodeLite - Unix Makefiles    = Generates CodeLite project files.
  Sublime Text 2 - Ninja       = Generates Sublime Text 2 project files.
  Sublime Text 2 - Unix Makefiles
                               = Generates Sublime Text 2 project files.
  Kate - Ninja                 = Generates Kate project files.
  Kate - Unix Makefiles        = Generates Kate project files.
  Eclipse CDT4 - Ninja         = Generates Eclipse CDT 4.0 project files.
  Eclipse CDT4 - Unix Makefiles= Generates Eclipse CDT 4.0 project files.
  KDevelop3                    = Generates KDevelop 3 project files.
  KDevelop3 - Unix Makefiles   = Generates KDevelop 3 project files.

1 Ответ

0 голосов
/ 14 октября 2018

После генерации файлов, необходимых для сборки приложения, на основе сценария CMake, CMake должен определить несколько битов информации о запрошенном генераторе (который предоставляется явно -G или каким-либо другим по умолчанию).Чтобы собрать эту информацию, CMake компилирует некоторый код C и C ++ (вы можете посмотреть на вывод CMake, где он выводит некоторую информацию о проверке компилятора C, а затем компилятора C ++) с помощью компилятора, связанного с данным генератором.Поэтому, учитывая, что мы хотим генерировать файлы проекта MSVS, нам нужно иметь работающий компилятор MSVC, установленный в нашей системе, и этот компилятор должен иметь возможность создавать код, который хочет построить CMake.

Именно поэтому CMake не можетобеспечить генератор MSVS на pure Linux.Поэтому, чтобы заставить CMake делать это в Linux, вы должны запустить CMake.exe в Linux с установленным MSVC, что, насколько я знаю, возможно с помощью Wine.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...