Можно ли создать проект WinRT с помощью cmake?
Чтобы создать проект WINRT, нам нужно иметь CMake >= 2.8.10 и:
- Задайте тип проекта как приложение для Windows Store (CMAKE: SET_TARGET_PROPERTIES (целевые объекты VS_WINRT_EXTENSIONS TRUE)
- Добавить флаг компилятора /ZW для компиляции WinRT (CMAKE: ADD_DEFINITIONS (-ZW))
- Добавить App.xaml.h, App.xaml.cpp
- Добавьте App.xaml, чтобы VS генерировал из него некоторые дополнительные файлы (CMAKE: КАК?)
- Добавьте Package.appxmanifest с описанием, чтобы VS использовал его (CMAKE: КАК?)
Спасибо.
ОБНОВЛЕНИЕ: отчет об ошибке CMake, ссылающийся на этот вопрос, находится здесь 0013749: Не может быть нацелен на Windows 8 RT из CMake без обходных путей.
Ответы
Ответ 1
Ребята CMake работают над этим:
Отчет об ошибках на cmake.org
Ответ 2
CMake не полностью поддерживает Visual Studio 11.
Проверьте эти ссылки.
http://public.kitware.com/Bug/view.php?id=13498
http://public.kitware.com/Bug/view.php?id=12930
http://www.ogre3d.org/forums/viewtopic.php?f=9&t=76388
Ответ 3
Это прекрасно выполнимо. Вещи значительно изменились, так как этот вопрос изначально был задан. Наиболее значимые изменения:
- Visual Studio изначально поддерживает CMake с Visual Studio 2017 (см. Поддержка CMake в Visual Studio). Это больше не требуется отдельно загружать CMake и генерировать файлы .sln и .vcxproj. CMake является частью установки Visual Studio и может быть проанализирован инфраструктурой управления проектами Visual Studio и системой сборки.
- С++/CX больше не является единственным способом создания и использования компонентов Windows Runtime. С++/WinRT предоставляет стандартную проекцию на языке С++ для среды Windows Runtime API с возможностью потребления и создания компонентов Windows Runtime.
С помощью этих изменений вы можете использовать CMake для создания проекта на С++, который создает приложение Runtime Windows. С++/WinRT является стандартным С++, а Visual Studio 2017 обеспечивает встроенную поддержку CMake.