Подтвердить что ты не робот

Как поддерживать оба vcxproj в cmake в проекте?

Я разрабатываю кросс-платформенный проект С++. Первоначальная идея заключается в том, чтобы работать с msvc2010 и позже компилироваться для других систем с помощью CMake и Hudson. Кажется, что это не удобно вручную изменять файлы CMake после изменений в настройках студии.

Итак, самый простой способ: написать парсер для vcxproj и vcxproj.filters, или есть еще одно хорошее решение?

4b9b3361

Ответ 1

Может быть, время от времени полезно использовать этот тип преобразования, скажем, для портирования. В моих путешествиях я нашел следующее, в определенном порядке:

В частности, для VS to CMake/GYP:

  • vcproj2cmake
  • vcxproj2cmake (не опечатка!)
  • gypify.py является файловым генератором .sln/solution-reading GYP. Gyp - альтернатива Cmake, которая в настоящее время используется проектом Chromium (база для браузера Google Chrome). Gyp выведет файлы Makefile, Visual Studio или XCode (см. Переключатель Gyp '-f [make | scons | msvc | xcode]'). Этот Python script довольно многообещающий, я надеюсь скоро его изменить, чтобы правильно указать заголовочные папки для параметра gcc '-I' include.

Другие инструменты преобразования Cmake/Make-related:

  • Make It So Преобразует решения Visual Studio в Linux gcc makefiles
  • sln2mak Проект С#
  • sln2mak Perl script
  • Проект GUCEF включает инструмент ProjectGenerator для Cmake
  • gencmake (ruby) - проект KDE
  • 'pbtomake говорит, что он может конвертировать файлы XCode xcodeproj/pbproj в Makefile (возможно, устарел)

Приветствия

Рич

Ответ 2

Вы возвращаетесь к нему назад - настройте весь свой CMakeLists.txt, а затем сгенерируйте проект MSVC.

Это не должно быть тяжелым или трудоемким. В основном вам просто нужно сказать, какие каталоги искать, объявлять ваши пути include, собирать *.cpps для каждой библиотеки с помощью выражения glob и объявлять ваши зависимости.

Если вам нужно настроить что-нибудь еще, то ваш проект, вероятно, не очень портативен: -/