Skip to content

Commit 0aa9973

Browse files
committed
Linux: Fix CMakeLists.txt
Allows using the default CMakeList for Linux Flutter applications
1 parent b75efa0 commit 0aa9973

File tree

1 file changed

+28
-2
lines changed

1 file changed

+28
-2
lines changed

linux/CMakeLists.txt

+28-2
Original file line numberDiff line numberDiff line change
@@ -104,14 +104,40 @@ add_definitions("-DGTK_DISABLE_DEPRECATED")
104104
# Set SUID permissions on the chrome-sandbox target.
105105
# SET_LINUX_SUID_PERMISSIONS("${CEF_TARGET}" "${CEF_TARGET_OUT_DIR}/chrome-sandbox")
106106

107+
108+
# Init INSTALL_BUNDLE_APPLICATION_DIR_WEBVIEW_CEV that contains the build dir
109+
set(CMAKE_INSTALL_PREFIX_WEBVIEW_CEV CMAKE_INSTALL_PREFIX)
110+
set(BUILD_BUNDLE_DIR_WEBVIEW_CEV "${PROJECT_BINARY_DIR}/bundle")
111+
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
112+
set(CMAKE_INSTALL_PREFIX_WEBVIEW_CEV "${BUILD_BUNDLE_DIR_WEBVIEW_CEV}" CACHE PATH "..." FORCE)
113+
endif()
114+
set(INSTALL_BUNDLE_APPLICATION_DIR_WEBVIEW_CEV "${CMAKE_INSTALL_PREFIX_WEBVIEW_CEV}")
115+
get_filename_component(INSTALL_BUNDLE_APPLICATION_DIR_WEBVIEW_CEV "${INSTALL_BUNDLE_APPLICATION_DIR_WEBVIEW_CEV}" DIRECTORY)
116+
get_filename_component(INSTALL_BUNDLE_APPLICATION_DIR_WEBVIEW_CEV "${INSTALL_BUNDLE_APPLICATION_DIR_WEBVIEW_CEV}" DIRECTORY)
117+
get_filename_component(INSTALL_BUNDLE_APPLICATION_DIR_WEBVIEW_CEV "${INSTALL_BUNDLE_APPLICATION_DIR_WEBVIEW_CEV}" DIRECTORY)
118+
set(INSTALL_BUNDLE_APPLICATION_DIR_WEBVIEW_CEV "${INSTALL_BUNDLE_APPLICATION_DIR_WEBVIEW_CEV}/bundle/lib")
119+
120+
107121
#set CEF binary and resource files which need to copy to the target output directory
108122
set(cef_library_list "")
109123
foreach(FILE ${CEF_BINARY_FILES})
110124
list(APPEND cef_library_list ${CEF_BINARY_DIR}/${FILE})
111125
endforeach()
112-
foreach(FILE ${CEF_RESOURCE_FILES})
113126

114-
list(APPEND cef_library_list ${CEF_RESOURCE_DIR}/${FILE})
127+
foreach(FILE ${CEF_RESOURCE_FILES})
128+
# If ${FILE} is a directory (e.g. locales), install them directly.
129+
# Avoids error with the Linux target CMakeList
130+
if(IS_DIRECTORY ${CEF_RESOURCE_DIR}/${FILE})
131+
file(GLOB LOCAL_FILES "${CEF_RESOURCE_DIR}/${FILE}/*")
132+
foreach(LOCAL_FILE ${LOCAL_FILES})
133+
install(FILES "${LOCAL_FILE}"
134+
DESTINATION "${INSTALL_BUNDLE_APPLICATION_DIR_WEBVIEW_CEV}/${FILE}"
135+
COMPONENT Runtime)
136+
endforeach()
137+
else()
138+
# If ${FILE} is not a directory, treat it normally
139+
list(APPEND cef_library_list ${CEF_RESOURCE_DIR}/${FILE})
140+
endif()
115141
endforeach(FILE)
116142
#######################################cef end#######################################
117143

0 commit comments

Comments
 (0)