CMake не делает то, что я после. Для ясности - когда я говорю «управлять процессом сборки», я имею в виду, что любой может взять проект из репозитория, затем из VS выбрать платформу, скомпилировать / запустить, добавить файлы, изменить настройки и т. Д., И все это по волшебству; ) Итак, чтобы ответить на мой собственный вопрос, после небольшого количества копаний я пришел к этому.
«Правильный» способ сделать это - написать плагин для VS, который добавит новую платформу, которая появится в менеджере конфигурации (как они сделали для Xbox, Pocket PC и т. Д.). К сожалению, может показаться, что Microsoft в своей бесконечной мудрости решила не подвергать API для этой особой функции великому немытому.
Однако вы можете написать надстройку и параллельно заменить cl.exe и link.exe программами-заглушками, которые отправляют фактическую компиляцию соответствующим компиляторам. Похоже, для этого есть проект с открытым исходным кодом VSItanium (только для 2003 года, и его придется изменить для пользовательских компиляторов). Также SNSystems делают это с помощью пакета VSI для PSP.
Для написания плагина потребуется некоторое время, поэтому в настоящее время быстрое решение заключается в том, чтобы написать скрипт, который анализирует файлы решения и проекта и извлекает важные биты и генерирует файлы, которые должны быть включены nant. (или сделать, или джем или что-то еще) - вызывается с шага за сборку. Либо так, либо пройдите весь маршрут решения makefile: /
MSBuild действительно должен идти вперед. У меня была быстрая игра с ним, и вы можете (почти) делать все, что я хочу, но почему-то это не совсем гель. Думал, что это проект на C # - возможно, придется потратить на это больше времени, если только гуру MSBuild не захотят указать мне правильное направление.