v30.3-roots.1 · Commit 55: [PATCH 55/68] build: require usable system LevelDB memory environment
cmake/module/FindLevelDB.cmake
Before: cmake/module/FindLevelDB.cmake · After: cmake/module/FindLevelDB.cmake
File metadata
index 9360f1e14acd3e45e16223febd347ddd75bb7ee0..179bb52cbac4b3f7b53f54c560c4cca36086a342 100644
Download original patch · Release notes
Diff rows 1–42 of 42. Line numbers refer to the original before/after files.
+ Added− RemovedUnmarked lines are context.
Scroll the code area horizontally to read long lines. The two line-number columns refer to before and after.
cmake/module/FindLevelDB.cmake
CHANGED
|
@@ -53,7 +53,7 @@ function(find_leveldb_libs release_type suffixes _LevelDB_lib_hint)
|
|
|
53
53
|
_try_leveldb_compile("${LevelDB_LIBRARY_${release_type}}" "LevelDB_memenv_works_without_helper_lib_${release_type}")
|
|
54
54
|
if(LevelDB_memenv_works_without_helper_lib_${release_type})
|
|
55
55
|
set("LevelDB_MemEnv_LIBRARY_${release_type}" "" CACHE STRING "")
|
|
56
|
-
set(LevelDB_MemEnv_FOUND ON CACHE INTERNAL "")
|
|
56
|
+
set("LevelDB_MemEnv_LINKABLE_${release_type}" ON PARENT_SCOPE)
|
|
57
57
|
else()
|
|
58
58
|
find_library("LevelDB_MemEnv_LIBRARY_${release_type}"
|
|
59
59
|
NAMES memenv
|
|
@@ -63,9 +63,9 @@ function(find_leveldb_libs release_type suffixes _LevelDB_lib_hint)
|
|
|
63
63
|
|
|
64
64
|
set(libs ${LevelDB_LIBRARY_${release_type}} ${LevelDB_MemEnv_LIBRARY_${release_type}})
|
|
65
65
|
_try_leveldb_compile("${libs}" "LevelDB_memenv_works_with_helper_lib_${release_type}")
|
|
66
|
-
if(NOT LevelDB_memenv_works_with_helper_lib_${release_type})
|
|
67
|
-
set(LevelDB_MemEnv_FOUND OFF CACHE INTERNAL "")
|
|
68
|
-
endif()
|
|
66
|
+
set("LevelDB_MemEnv_LINKABLE_${release_type}"
|
|
67
|
+
"${LevelDB_memenv_works_with_helper_lib_${release_type}}" PARENT_SCOPE
|
|
68
|
+
)
|
|
69
69
|
endif()
|
|
70
70
|
mark_as_advanced("LevelDB_MemEnv_LIBRARY_${release_type}")
|
|
71
71
|
endfunction()
|
|
@@ -81,9 +81,21 @@ include(SelectLibraryConfigurations)
|
|
|
81
81
|
select_library_configurations(LevelDB)
|
|
82
82
|
select_library_configurations(LevelDB_MemEnv)
|
|
83
83
|
|
|
84
|
+
# Validate every available configuration, without rejecting a package that
|
|
85
|
+
# supplies only one configuration (SelectLibraryConfigurations supports this).
|
|
86
|
+
set(LevelDB_MemEnv_LINKABLE ON)
|
|
87
|
+
foreach(release_type IN ITEMS RELEASE DEBUG)
|
|
88
|
+
if(LevelDB_LIBRARY_${release_type} AND NOT LevelDB_MemEnv_LINKABLE_${release_type})
|
|
89
|
+
set(LevelDB_MemEnv_LINKABLE OFF)
|
|
90
|
+
endif()
|
|
91
|
+
endforeach()
|
|
92
|
+
|
|
84
93
|
include(FindPackageHandleStandardArgs)
|
|
85
94
|
find_package_handle_standard_args(LevelDB
|
|
86
|
-
REQUIRED_VARS LevelDB_LIBRARY LevelDB_INCLUDE_DIR LevelDB_MemEnv_INCLUDE_DIR LevelDB_MemEnv_FOUND
|
|
95
|
+
# select_library_configurations sets <name>_FOUND from library presence.
|
|
96
|
+
# Keep the actual link probes separate so an unusable helper cannot pass.
|
|
97
|
+
REQUIRED_VARS LevelDB_LIBRARY LevelDB_INCLUDE_DIR LevelDB_MemEnv_INCLUDE_DIR
|
|
98
|
+
LevelDB_MemEnv_LINKABLE
|
|
87
99
|
)
|
|
88
100
|
|
|
89
101
|
if(LevelDB_FOUND)
|