1 ###########################################################################
2 # Copyright 2018,2019 Konsulko Group
4 # Author: Scott Murray <scott.murray@konsulko.com>
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
10 # http://www.apache.org/licenses/LICENSE-2.0
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 ###########################################################################
19 set(CMAKE_INCLUDE_CURRENT_DIR 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})
26 find_package(Qt5 COMPONENTS Core Gui QuickControls2 QuickWidgets REQUIRED)
27 find_package(Qt5Gui ${QT_MIN_VERSION} CONFIG REQUIRED Private)
28 find_package(PkgConfig REQUIRED)
29 find_program(WAYLAND_SCANNER_EXECUTABLE NAMES wayland-scanner)
31 qt5_add_resources(RESOURCES cluster-gauges.qrc images/images.qrc)
33 PROJECT_TARGET_ADD(cluster-gauges)
36 OUTPUT agl-shell-client-protocol.h
37 COMMAND ${WAYLAND_SCANNER_EXECUTABLE} client-header
38 < ${CMAKE_SOURCE_DIR}/app/protocol/agl-shell.xml
39 > ${CMAKE_SOURCE_DIR}/app/agl-shell-client-protocol.h
40 DEPENDS ${CMAKE_SOURCE_DIR}/app/protocol/agl-shell.xml
44 OUTPUT ${CMAKE_BINARY_DIR}/app/agl-shell-client-protocol.h
45 COMMAND ${WAYLAND_SCANNER_EXECUTABLE} client-header
46 < ${CMAKE_SOURCE_DIR}/app/protocol/agl-shell.xml
47 > ${CMAKE_SOURCE_DIR}/app/agl-shell-client-protocol.h
48 DEPENDS ${CMAKE_SOURCE_DIR}/app/protocol/agl-shell.xml
52 OUTPUT agl-shell-protocol.c
53 COMMAND ${WAYLAND_SCANNER_EXECUTABLE} code
54 < ${CMAKE_SOURCE_DIR}/app/protocol/agl-shell.xml
55 > ${CMAKE_BINARY_DIR}/app/agl-shell-protocol.c
56 DEPENDS ${CMAKE_SOURCE_DIR}/app/protocol/agl-shell.xml
59 add_executable(${TARGET_NAME}
62 agl-shell-client-protocol.h
66 pkg_check_modules(QTAPPFW REQUIRED qtappfw-signal-composer)
67 pkg_check_modules(GLIB REQUIRED glib-2.0)
68 pkg_check_modules(WAYLAND_CLIENT REQUIRED wayland-client)
71 include_directories(${Qt5Gui_PRIVATE_INCLUDE_DIRS})
72 ${QTAPPFW_INCLUDE_DIRS}
76 set_target_properties(${TARGET_NAME} PROPERTIES
79 COMPILE_FLAGS "${QTAPPFW_FLAGS} ${GLIB_FLAGS} ${EXTRAS_CFLAGS} -DFOR_AFB_BINDING"
80 LINK_FLAGS "${BINDINGS_LINK_FLAG}"
81 LINK_LIBRARIES "${EXTRAS_LIBRARIES}"
82 OUTPUT_NAME "${TARGET_NAME}"
85 target_link_libraries(${TARGET_NAME}
90 ${WAYLAND_CLIENT_LIBRARIES}