2015-04-21 3 views
1

У меня есть проект C++ на основе CMake, и недавно я включил в него существующую программу C#.Внешний msproject, импортированный в CMake, не будет строить

Вот CMake код:

include_external_msproject(MarkTrainingSet MarkTrainingSet.csproj 
         GUID 77A5B8C9-998E-4D0E-A444-6AD14FB0DC37 
         PLATFORM AnyCPU) 

Файл .csproj был создан одним и тем же Visual Studio 2013, а строит свой проект на C++. Значение GUID и платформа AnyCPU - это значения из этого файла.

Моя проблема заключается в том, что этот проект C# не построен, когда я выдаю команду Build solution в Visual Studio. Мне нужно перейти к свойствам решения (щелкните правой кнопкой мыши по решению в обозревателе решений), затем выберите Конфигурация -> Конфигурация и установите флажок Build в строке, соответствующей моему проекту MarkTrainingSet.

Если CMake регенерирует решение, я должен вспомнить об этом флажке и повторить процедуру.

Документация о include_external_msproject очень неполна.

Что мне делать, чтобы этот проект C# всегда строился автоматически?

ответ

1

Последний раз, когда я смотрел, реализация CMake include_external_msproject() ограничивается проектами C/C++.

Вы можете найти этот отчет о дефекте, чтобы он выглядел, хотя он выглядит устаревшим. http://www.cmake.org/Bug/view.php?id=9742 ... (также см. http://marc.info/?l=cmake&m=133319401303885)

Я не мог понять, были ли патчи включены в CMake или нет, но дефект по-прежнему открыт.

+0

Спасибо. Похоже, патчи не были включены. Разрешение по-прежнему «открыто», и поиск в репозитории CMake от Kitware не добавляет фрагменты кода из патчей. – wl2776

+0

Если вы чувствуете себя авантюрно, вы можете применить патч к своей рабочей версии и посмотреть, поможет ли это вам! Если вы чувствуете себя очень авантюрно, вы можете попытаться применить патч. Я думаю, что единственное, чего не хватает, - это теплое тело, чтобы сделать работу и вступить в нее. – StAlphonzo

Смежные вопросы