Question

I have installed Qt5 and Qt3d from the ubuntu-developers repository (I'm under Ubuntu 13.04) and I would like to compile a very simple application with CMake (my version is 2.8.10.1). A working CMakeLists.txt for a Qt helloworld is the following :

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)

But what would be the CMakeLists.txt of a basic Qt3d program like this example : https://gitorious.org/wiki-sources/wiki-sources/trees/master/qt3d/glview

Was it helpful?

Solution

Qt3d is a regular Qt module, just like Qt Widgets. So you should add Qt3d to your project just as you do it for Widgets:

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)

I've tested this CMakeLists.txt with Teapot example. It's available here. Note that the example you've posted was written for Qt4 and will not work with Qt5.

I've used Ubuntu 13.04 with qt3d5-dev package available in the main repository.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top