Я установил Qt5 и Qt3d из репозитория ubuntu-developers (я нахожусь под Ubuntu 13.04), и я хотел бы скомпилировать очень простое приложение с CMake (моя версия 2.8.10.1). Рабочий CMakeLists.txt для helloworld Qt выглядит следующим образом:
cmake_minimum_required(VERSION 2.8.8)
project(testproject)
# Find includes in corresponding build directories
set(CMAKE_INCLUDE_CURRENT_DIR ON)
# Instruct CMake to run moc automatically when needed.
set(CMAKE_AUTOMOC ON)
# Find the QtWidgets library
find_package(Qt5Widgets)
# Tell CMake to create the helloworld executable
add_executable(helloworld helloworld.cpp)
# Use the Widgets module from Qt 5.
qt5_use_modules(helloworld Widgets)
Но что такое CMakeLists.txt базовой программы Qt3d, такой как этот пример:
https://gitorious.org/wiki-sources/wiki-sources/trees/master/qt3d/glview
Qt3d — это обычный модуль Qt, как и Qt Widgets. Поэтому вы должны добавить Qt3d в ваш проект так же, как вы делаете это для виджетов:
cmake_minimum_required(VERSION 2.8.8)
project(testproject)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
find_package(Qt5Widgets)
find_package(Qt53D)
add_executable(helloworld teapotview.cpp main.cpp)
qt5_use_modules(helloworld Widgets 3D)
Я протестировал этот CMakeLists.txt с примером Teapot. Это доступно Вот. Обратите внимание, что опубликованный вами пример был написан для Qt4 и не будет работать с Qt5.
Я использовал Ubuntu 13.04 с qt3d5-dev
Пакет доступен в основном хранилище.
Других решений пока нет …