Ответ 1
Мой лучший ответ на ваш вопрос:
Хотя я не могу порекомендовать этот инструмент, поскольку я не использовал его, он кажется наиболее близким к тому, что вы ищете.
http://sourceforge.net/projects/vcproj2cmake/
Для этого на вашем компьютере должна быть установлена среда выполнения Ruby, но он будет генерировать файлы CMakeLists.txt на основе вашего проекта Visual Studio.
Я был бы осторожен в зависимости от этого слишком много, поскольку могут быть некоторые тонкие нюансы CMake, которые теряются в конверсии, но он имеет несколько благоприятных отзывов и, безусловно, облегчит процесс, даже если перед проверкой необходимо выполнить некоторые ручные шаги в (для проверки правильности сценария CMake).
Возможно, вы можете интегрировать это с модульным тестированием для проверки целостности сценариев CMake? И вы всегда можете предложить исправления для проблем, которые вы обнаружите.
Потенциальная альтернатива:
Я делаю вывод о некоторых вещах, так что прости меня, если я делаю какие-либо предположения.
Если ваши цели состоят в том, чтобы быть кроссплатформенным, а CMake не является требованием в качестве технологии (просто средство для этого), но вы не хотите использовать рекомендованный рабочий процесс CMake, потому что он не очень интуитивен (я могу полностью понять, что), возможно, вы можете взглянуть на Premake, который является более новым, но все же довольно надежным инструментом генерации проектов:
Я обнаружил, что синтаксис (чистый Lua) гораздо проще понять, и он гораздо ближе моделирует свои проекты к решениям Visual Studio. Это может быть более естественный рабочий процесс для вас.
Также он с открытым исходным кодом, и я обнаружил, что на самом деле удивительно легко добавлять к нему расширения (это был год с тех пор, как я в последний раз использовал его, и я не уверен, в каком состоянии он сейчас находится). Возможно, вы могли бы также создать обратный генератор, поскольку библиотека поставляется в комплекте с анализатором проектов Visual Studio, и с небольшим творческим потенциалом вы можете генерировать ее в обоих направлениях.
Я решил не принимать его год назад, потому что в то время ему было трудно генерировать проекты Xcode, которые зависели друг от друга (возможно, это исправлено!). У меня не было проблем с Makefiles или решениями Visual Studio.
Окончательная рекомендация
Причина, по которой я не рекомендовал бы обратное генерирование сценариев генерации проекта из проекта Visual Studio, заключается в том, что он просто ставит очень неловкую зависимость от вашего проекта. Проекты Visual Studio не стандартизированы и даже не открыты - и если Microsoft изменит формат, вы можете нарушить ваш рабочий процесс, пока вы или кто-то еще не создадите патч для вашего реверс-генератора, чтобы заставить вас работать снова.
Можно утверждать, что при создании проектов существуют одни и те же проблемы, но Visual Studio исторически всегда был обратно совместим - или, по крайней мере, поставлялся с инструментами для обновления проекта. Создание проекта в более старой версии, скорее всего, всегда будет работать, в то время как попытка разобрать более новую версию решения Visual Studio будет гораздо более подвержена ошибкам и поломкам.
Если это серьезный производственный проект, который, как вы надеетесь, будет продолжать использоваться и поддерживаться в течение многих лет, я настоятельно рекомендую принять проверенный рабочий процесс (работающий непосредственно в файлах CMake или Premake), даже если он менее чем идеален или неудобен в сначала для разработчиков. Если это будет долгосрочный проект, то время, которое понадобится вам для ознакомления с новым рабочим процессом, будет меньше, чем время, необходимое для продолжения поддержки системы специальной сборки на нескольких платформах и в разных командах. Плюс, это добавит еще один инструмент в ваш пояс как разработчик. Просто мои два цента.