Skip to content

Commit 356d878

Browse files
Flutter plugins: do not link C library on Linux (GH#504)
1 parent befc178 commit 356d878

File tree

3 files changed

+17
-34
lines changed

3 files changed

+17
-34
lines changed

flutter_libs/linux/CMakeLists.txt

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,6 @@ target_include_directories(${PLUGIN_NAME} INTERFACE
3838
target_link_libraries(${PLUGIN_NAME} PRIVATE flutter)
3939
target_link_libraries(${PLUGIN_NAME} PRIVATE PkgConfig::GTK)
4040

41-
# List of absolute paths to libraries that should be bundled with the plugin.
42-
# This list could contain prebuilt libraries, or libraries created by an
43-
# external build triggered from this build file.
44-
set(objectbox_flutter_libs_bundled_libraries
45-
""
46-
PARENT_SCOPE
47-
)
48-
4941
# ----------------------------------------------------------------------
5042
# Download and add objectbox-c prebuilt library.
5143

@@ -71,16 +63,15 @@ if(NOT objectbox-download_POPULATED)
7163
FetchContent_Populate(objectbox-download)
7264
endif()
7365

74-
# Bundle library with Flutter plugin, see template above.
66+
# ----------------------------------------------------------------------
67+
68+
# List of absolute paths to libraries that should be bundled with the plugin.
69+
# This list could contain prebuilt libraries, or libraries created by an
70+
# external build triggered from this build file.
71+
72+
# Note: do not link the ObjectBox C library; the Dart library looks for it in a lib subfolder
73+
# where flutter build puts it when added below.
7574
set(objectbox_flutter_libs_bundled_libraries
7675
"${objectbox-download_SOURCE_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}objectbox${CMAKE_SHARED_LIBRARY_SUFFIX}"
7776
PARENT_SCOPE
7877
)
79-
80-
add_library(objectbox SHARED IMPORTED GLOBAL)
81-
set_target_properties(objectbox PROPERTIES
82-
IMPORTED_LOCATION ${objectbox-download_SOURCE_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}objectbox${CMAKE_SHARED_LIBRARY_SUFFIX}
83-
IMPORTED_IMPLIB ${objectbox-download_SOURCE_DIR}/lib/${CMAKE_IMPORT_LIBRARY_PREFIX}objectbox${CMAKE_IMPORT_LIBRARY_SUFFIX}
84-
)
85-
86-
target_link_libraries(${PLUGIN_NAME} PRIVATE objectbox)

objectbox/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
## latest
22

3+
* Flutter Linux apps do not longer fail to run due to the shared ObjectBox C library not loading. #504
34

45
## 1.7.1 (2023-01-17)
56

sync_flutter_libs/linux/CMakeLists.txt

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,6 @@ target_include_directories(${PLUGIN_NAME} INTERFACE
3838
target_link_libraries(${PLUGIN_NAME} PRIVATE flutter)
3939
target_link_libraries(${PLUGIN_NAME} PRIVATE PkgConfig::GTK)
4040

41-
# List of absolute paths to libraries that should be bundled with the plugin.
42-
# This list could contain prebuilt libraries, or libraries created by an
43-
# external build triggered from this build file.
44-
set(objectbox_sync_flutter_libs_bundled_libraries
45-
""
46-
PARENT_SCOPE
47-
)
48-
4941
# ----------------------------------------------------------------------
5042
# Download and add objectbox-c prebuilt library.
5143

@@ -71,16 +63,15 @@ if(NOT objectbox-download_POPULATED)
7163
FetchContent_Populate(objectbox-download)
7264
endif()
7365

74-
# Bundle library with Flutter plugin, see template above.
66+
# ----------------------------------------------------------------------
67+
68+
# List of absolute paths to libraries that should be bundled with the plugin.
69+
# This list could contain prebuilt libraries, or libraries created by an
70+
# external build triggered from this build file.
71+
72+
# Note: do not link the ObjectBox C library; the Dart library looks for it in a lib subfolder
73+
# where flutter build puts it when added below.
7574
set(objectbox_sync_flutter_libs_bundled_libraries
7675
"${objectbox-download_SOURCE_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}objectbox${CMAKE_SHARED_LIBRARY_SUFFIX}"
7776
PARENT_SCOPE
7877
)
79-
80-
add_library(objectbox SHARED IMPORTED GLOBAL)
81-
set_target_properties(objectbox PROPERTIES
82-
IMPORTED_LOCATION ${objectbox-download_SOURCE_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}objectbox${CMAKE_SHARED_LIBRARY_SUFFIX}
83-
IMPORTED_IMPLIB ${objectbox-download_SOURCE_DIR}/lib/${CMAKE_IMPORT_LIBRARY_PREFIX}objectbox${CMAKE_IMPORT_LIBRARY_SUFFIX}
84-
)
85-
86-
target_link_libraries(${PLUGIN_NAME} PRIVATE objectbox)

0 commit comments

Comments
 (0)