Пакет CMake MacOS X с BundleUtiliies для приложения Qt

Я новичок в CMake, и у меня возникла проблема с созданием пакета приложений Qt для MacOS X. Давайте рассмотрим простое приложение виджета "helloworld" только в одномmain.cpp файл.

// main.cpp
#include <QApplication>
#include <QLabel>

int main(int argc, char** argv)
{
    QApplication app(argc,argv);
    QLabel lbl("Hello");
    lbl.show();
    return app.exec();
}

CMakeLists.txt файл тоже прост.

# CMakeLists.txt
cmake_minimum_required( VERSION 3.0 )
project( QtBundle )    
set( CMAKE_INCLUDE_CURRENT_DIR ON )
set( CMAKE_AUTOMOC ON )

set( SOURCES main.cpp )    
find_package( Qt5Widgets REQUIRED )

add_executable( ${PROJECT_NAME} MACOSX_BUNDLE ${SOURCES} )    
qt5_use_modules( ${PROJECT_NAME} Widgets )

я бегуcmake .. -DCMAKE_PREFIX_PATH=/path/to/Qt5.5.1/ и это порождаетMakefile вbuild каталог.

Тогда я бегуmake и имеютQtBundle.app каталог, как я хотел иQtBundle.app/Contents/MacOS/QtBundle исполняемый, ок.

Но когда я запускаю его, я получаю:

This application failed to start because it could not find or load the Qt platform plugin "cocoa".

Reinstalling the application may fix this problem.
Abort trap: 6 

Насколько я понимаю, ошибка произошла из-за того, что в комплекте приложений нет никаких компонентов Qt (libs и плагинов Framework), поэтому я запускаюmacdeployqt и он заполняет каталог bundles большим количеством файлов в папках Framework и PlugIns и приложениевозможность запуска и перемещения в другую систему.

Это частично решает проблему, ноЯ хочу заполнить связку с CMake иBundleUtilities и без инструмента macdeployqt.

К сожалению, я не нашел хорошего и простого примера для развертывания Qt5 с BundleUtilities.

Может ли кто-нибудь помочь мнеизменить мой пример helloworld таким образом, чтобы CMake автоматически создавал готовый к развертыванию пакет?

Заранее спасибо.

Главный вопрос: как использовать CMake BundleUtilities, чтобы получить перемещаемое приложение?

Ответы на вопрос(1)

Ваш ответ на вопрос