@@ -34,7 +34,7 @@ project(flutter-pi LANGUAGES C)
34
34
message (STATUS "Generator .............. ${CMAKE_GENERATOR} " )
35
35
message (STATUS "Build Type ............. ${CMAKE_BUILD_TYPE} " )
36
36
37
- if (NOT FLUTTER_ENGINE_LIBRARY )
37
+ if (NOT FLUTTER_EMBEDDER_HEADER )
38
38
39
39
include (FetchContent)
40
40
@@ -67,24 +67,15 @@ if(NOT FLUTTER_ENGINE_LIBRARY)
67
67
68
68
message (STATUS "Engine SHA1 ............ ${FLUTTER_ENGINE_SHA} " )
69
69
70
- # Download and setup the Flutter Engine.
70
+ set (FLUTTER_EMBEDDER_HEADER ${CMAKE_BINARY_DIR} /flutter_embedder.h)
71
71
72
- set (FLUTTER_EMBEDDER_ARTIFACTS_ZIP ${CMAKE_BINARY_DIR} /flutter_embedder_${FLUTTER_ENGINE_SHA} .zip)
73
- set (FLUTTER_BUCKET_BASE "https://storage.googleapis.com/flutter_infra/flutter" )
74
-
75
- if (NOT EXISTS ${FLUTTER_EMBEDDER_ARTIFACTS_ZIP} )
72
+ # Download and setup the flutter engine library header.
73
+ if (NOT EXISTS ${FLUTTER_EMBEDDER_HEADER} )
76
74
file (DOWNLOAD
77
- ${FLUTTER_BUCKET_BASE} /${FLUTTER_ENGINE_SHA} /linux-x64/linux-x64-embedder
78
- ${FLUTTER_EMBEDDER_ARTIFACTS_ZIP}
79
- SHOW_PROGRESS
80
- )
81
- execute_process (
82
- COMMAND ${CMAKE_COMMAND} -E tar xzf ${FLUTTER_EMBEDDER_ARTIFACTS_ZIP}
83
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
75
+ https://github.com/flutter/engine/blob/${FLUTTER_ENGINE_SHA} /shell/platform/embedder/embedder.h
76
+ ${FLUTTER_EMBEDDER_HEADER}
84
77
)
85
78
endif ()
86
-
87
- set (FLUTTER_ENGINE_LIBRARY ${CMAKE_BINARY_DIR} /libflutter_engine.so)
88
79
else ()
89
80
message (STATUS "Engine ................. ${FLUTTER_ENGINE_LIBRARY} " )
90
81
endif ()
@@ -95,14 +86,14 @@ set(ENV{PKG_CONFIG_PATH} ${PKG_CONFIG_PATH})
95
86
message (STATUS "PKG_CONFIG_PATH ........ $ENV{PKG_CONFIG_PATH} " )
96
87
97
88
include (FindPkgConfig)
98
- pkg_check_modules(GBM REQUIRED gbm)
99
89
pkg_check_modules(DRM REQUIRED libdrm)
100
- pkg_check_modules(GLESV2 REQUIRED glesv2 )
90
+ pkg_check_modules(GBM REQUIRED gbm )
101
91
pkg_check_modules(EGL REQUIRED egl)
92
+ pkg_check_modules(GLESV2 REQUIRED glesv2)
102
93
pkg_check_modules(LIBSYSTEMD REQUIRED libsystemd)
94
+ pkg_check_modules(LIBINPUT libinput)
103
95
pkg_check_modules(LIBUDEV libudev)
104
96
pkg_check_modules(GPIOD libgpiod)
105
- pkg_check_modules(LIBINPUT libinput)
106
97
107
98
set (FLUTTER_PI_SRC
108
99
src/flutter-pi.c
@@ -137,23 +128,41 @@ endif()
137
128
add_executable (flutter-pi ${FLUTTER_PI_SRC} )
138
129
139
130
target_link_libraries (flutter-pi
140
- ${GPIOD_LDFLAGS} ${GBM_LDFLAGS}
141
- ${DRM_LDFLAGS} ${GLESV2_LDFLAGS} ${EGL_LDFLAGS}
142
- pthread dl
131
+ ${DRM_LDFLAGS}
132
+ ${GBM_LDFLAGS}
133
+ ${EGL_LDFLAGS}
134
+ ${GLESV2_LDFLAGS}
135
+ ${LIBSYSTEMD_LDFLAGS}
136
+ ${LIBINPUT_LDFLAGS}
137
+ ${LIBUDEV_LDFLAGS}
138
+ ${GPIOD_LDFLAGS}
139
+ pthread dl rt m
143
140
)
144
141
145
142
target_include_directories (flutter-pi PRIVATE
146
143
${CMAKE_BINARY_DIR}
147
144
${CMAKE_SOURCE_DIR} /include
148
145
${CMAKE_SOURCE_DIR} /include /plugins
149
- ${GBM_INCLUDE_DIRS} ${DRM_INCLUDE_DIRS}
150
- ${GLESV2_INCLUDE_DIRS} ${EGL_INCLUDE_DIRS}
146
+ ${DRM_INCLUDE_DIRS}
147
+ ${GBM_INCLUDE_DIRS}
148
+ ${EGL_INCLUDE_DIRS}
149
+ ${GLESV2_INCLUDE_DIRS}
150
+ ${LIBSYSTEMD_INCLUDE_DIRS}
151
+ ${LIBINPUT_INCLUDE_DIRS}
152
+ ${LIBUDEV_INCLUDE_DIRS}
153
+ ${GPIOD_INCLUDE_DIRS}
151
154
)
152
155
153
156
target_compile_options (flutter-pi PRIVATE
154
- ${GBM_CFLAGS} ${DRM_CFLAGS}
155
- ${GLESV2_CFLAGS} ${EGL_CFLAGS}
156
- ${GPIOD_CFLAGS} -ggdb
157
+ ${DRM_CFLAGS}
158
+ ${GBM_CFLAGS}
159
+ ${EGL_CFLAGS}
160
+ ${GLESV2_CFLAGS}
161
+ ${LIBSYSTEMD_CFLAGS}
162
+ ${LIBINPUT_CFLAGS}
163
+ ${LIBUDEV_CFLAGS}
164
+ ${GPIOD_CFLAGS}
165
+ -ggdb
157
166
-DBUILD_TEXT_INPUT_PLUGIN
158
167
-DBUILD_SPIDEV_PLUGIN
159
168
-DBUILD_TEST_PLUGIN
0 commit comments