3911e6a5be9bc24bb63cd8f3122d2e129aa48423
[apps/agl-cluster-demo-dashboard.git] / app / CMakeLists.txt
1 ###########################################################################
2 # Copyright 2018,2019 Konsulko Group
3 #
4 # Author: Scott Murray <scott.murray@konsulko.com>
5 #
6 # Licensed under the Apache License, Version 2.0 (the "License");
7 # you may not use this file except in compliance with the License.
8 # You may obtain a copy of the License at
9 #
10 #     http://www.apache.org/licenses/LICENSE-2.0
11 #
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
17 ###########################################################################
18
19 set(CMAKE_INCLUDE_CURRENT_DIR ON)
20 set(CMAKE_AUTOMOC ON)
21 set(CMAKE_AUTORCC ON)
22 set(CMAKE_CXX_STANDARD 14)
23 set(CMAKE_CXX_STANDARD_REQUIRED ON)
24 set(OE_QMAKE_PATH_EXTERNAL_HOST_BINS $ENV{OE_QMAKE_PATH_HOST_BINS})
25
26 find_package(Qt5 COMPONENTS Core Gui QuickControls2 QuickWidgets REQUIRED)
27 find_package(PkgConfig REQUIRED)
28
29 qt5_add_resources(RESOURCES cluster-gauges.qrc images/images.qrc)
30
31 PROJECT_TARGET_ADD(cluster-gauges)
32
33 add_executable(${TARGET_NAME}
34         main.cpp
35         ${RESOURCES}
36 )
37
38 pkg_check_modules(QLIBWINMGR REQUIRED qlibwindowmanager)
39 pkg_check_modules(QTAPPFW REQUIRED qtappfw-signal-composer)
40 pkg_check_modules(GLIB REQUIRED glib-2.0)
41
42 include_directories(
43         ${QTAPPFW_INCLUDE_DIRS}
44         ${GLIB_INCLUDE_DIRS}
45 )
46
47 set_target_properties(${TARGET_NAME} PROPERTIES
48         LABELS "EXECUTABLE"
49         PREFIX ""
50         COMPILE_FLAGS "${QLIBWINMGR_FLAGS} ${QTAPPFW_FLAGS} ${GLIB_FLAGS} ${EXTRAS_CFLAGS} -DFOR_AFB_BINDING"
51         LINK_FLAGS "${BINDINGS_LINK_FLAG}"
52         LINK_LIBRARIES "${EXTRAS_LIBRARIES}"
53         OUTPUT_NAME "${TARGET_NAME}"
54 )
55
56 target_link_libraries(${TARGET_NAME}
57         Qt5::QuickControls2
58         Qt5::QuickWidgets
59         ${QLIBWINMGR_LIBRARIES}
60         ${QTAPPFW_LIBRARIES}
61         ${GLIB_LDFLAGS}
62 )