# CAUTION: use MinimalQml repo instead. # qt5-qml-cpp-cmake-helloworld Simple hello world example using qt5, qml, c++, cmake ## Table of Contents * [Background](#background) * [Build Instructions](#buildinstructions) * [hw.qml](#hw.qml) * [main.cpp](#main.cpp) * [CMakeLists.txt](#cmakelists.txt) ## Background This is a simple helloworld example: * opens up a window an displays the text "Hello world!" * The window and text are configured through a qt5 qml file. * a simple C++ main is used to start things up * cmake is used to configure the build I spent a number of hours searching for something like this. An example that showed the barebones of what was needed to have C++ make use of a qt5 qml file. But most of the examples presumed the use of **gmake** (which is the primary build system for Qt). For my need, I wanted to see how to things needed to be set up for **cmake**. As I didn't find what I was looking for, I ended up writing this example from bits of info I could find. ## Build Instructions Assuming you already have an appropriate qt5 environment. 1. mkdir build 2. cd build 3. cmake .. 4. make 5. qmlApp For osx (macOS) users for step 3 you may need something like: ``` cmake .. -DCMAKE_PREFIX_PATH="$(brew --prefix qt5 )" ``` ## hw.qml `qml/hw.qml` is a simple qml file that creates a rectangle and displays the text "Hello world!". ## main.cpp `main.cpp` sets up Qt5 and opens up the `hw.qml` to have the GUI display. ## CMakeLists.txt This is the **cmake** config file. Of note: * it looks for the appropriate Qt5 packages * `find_packages` * what libraries to link with * `target_link_libraries` * copy the `qml` directory locally