summaryrefslogtreecommitdiffstats
path: root/app/CMakeLists.txt
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2018-12-04 11:52:01 -0500
committerScott Murray <scott.murray@konsulko.com>2018-12-04 16:57:21 -0500
commitd9d2667e365f7e4220afd8098a694800666329af (patch)
treec7057f4ff68075ed87d8ff13e3a579b39fe5a58a /app/CMakeLists.txt
parent3b82568265b0a149928495ba22f4055eb7161328 (diff)
Initial check-in
Demo instrument cluster dashboard application to display instrument cluster mock-up with speedometer, tachometer, temperature, and fuel gauges. A space is provided in the center of the dashboard for the overlay of the receiver application's remote display. Note that the gauges themselves and their animation are based on the Qt dashboard example: https://doc.qt.io/qt-5.11/qtquickextras-dashboard-example.html The associated qml source files are under the BSD license, other files are Apache 2.0. Additionally, note that the application uses the windowmanager, but not the homescreen service, as the demo instrument cluster does not use the homescreen. There is also an implicit assumption that the windowmanager configuration allows the application to claim the homescreen role and that the surface for that role will be 1920x1080 portrait mode. Change-Id: I413fa165125813757ab4712993320440ed641f32 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Diffstat (limited to 'app/CMakeLists.txt')
-rw-r--r--app/CMakeLists.txt50
1 files changed, 50 insertions, 0 deletions
diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt
new file mode 100644
index 0000000..07c60c4
--- /dev/null
+++ b/app/CMakeLists.txt
@@ -0,0 +1,50 @@
+###########################################################################
+# Copyright 2018 Konsulko Group
+#
+# Author: Scott Murray <scott.murray@konsulko.com>
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+###########################################################################
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_CXX_STANDARD 14)
+
+find_package(Qt5 COMPONENTS Core Gui QuickControls2 WebSockets QuickWidgets REQUIRED)
+find_package(PkgConfig REQUIRED)
+
+qt5_add_resources(RESOURCES cluster-gauges.qrc images/images.qrc)
+
+PROJECT_TARGET_ADD(cluster-gauges)
+
+add_executable(${TARGET_NAME}
+ main.cpp
+ ${RESOURCES}
+)
+
+pkg_check_modules(QLIBWINMGR REQUIRED qlibwindowmanager)
+
+set_target_properties(${TARGET_NAME} PROPERTIES
+ LABELS "EXECUTABLE"
+ PREFIX ""
+ COMPILE_FLAGS "${QLIBWINMGR_FLAGS} ${EXTRAS_CFLAGS} -DFOR_AFB_BINDING"
+ LINK_FLAGS "${BINDINGS_LINK_FLAG}"
+ LINK_LIBRARIES "${EXTRAS_LIBRARIES}"
+ OUTPUT_NAME "${TARGET_NAME}"
+)
+
+target_link_libraries(${TARGET_NAME}
+ Qt5::QuickControls2
+ Qt5::QuickWidgets
+ ${QLIBWINMGR_LIBRARIES}
+)