changeset 701:4e3e672275ce

cmake: make the slab selection logic just like file cache's Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
author Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
date Wed, 13 Mar 2019 11:04:34 -0400
parents de3dce4eb8ca
children 436cf5e462ea
files CMakeLists.txt cmake/config.cmake
diffstat 2 files changed, 11 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/CMakeLists.txt	Wed Mar 13 10:33:13 2019 -0400
+++ b/CMakeLists.txt	Wed Mar 13 11:04:34 2019 -0400
@@ -54,13 +54,11 @@
 include(cmake/test.cmake)
 include(cmake/paths.cmake)
 
-# handle missing libumem
-if(NOT UMEM_FOUND)
-	set(UMEM_LIBRARY "")
-	set(UMEM_INCLUDE_DIR "")
-	set(UMEM_EXTRA_SOURCE)
+# select which slab allocator API to use
+if(JEFFPC_HAVE_UMEM)
+	set(SLAB_EXTRA_SOURCE slab_umem.c)
 else()
-	set(UMEM_EXTRA_SOURCE slab_umem.c)
+	set(SLAB_EXTRA_SOURCE)
 endif()
 
 # select which event monitoring API to use
@@ -120,6 +118,7 @@
 	sexpr_eval.c
 	${FLEX_sexpr_OUTPUTS} ${BISON_sexpr_OUTPUTS}
 	slab.c
+	${SLAB_EXTRA_SOURCE}
 	sock.c
 	socksvc.c
 	str.c
@@ -139,7 +138,6 @@
 	val_pack.c
 	val_unpack.c
 	version.c
-	${UMEM_EXTRA_SOURCE}
 )
 
 target_link_libraries(jeffpc PRIVATE
--- a/cmake/config.cmake	Wed Mar 13 10:33:13 2019 -0400
+++ b/cmake/config.cmake	Wed Mar 13 11:04:34 2019 -0400
@@ -84,8 +84,13 @@
 set(CMAKE_MODULE_PATH "${CMAKE_DIR}/Modules")
 find_package(umem)
 
-# set a value that's "exported" into the generated config file
+# set a value that's "exported" into the generated config file & set up fake
+# but safe values when libumem is missing
 set(JEFFPC_HAVE_UMEM ${UMEM_FOUND})
+if(NOT UMEM_FOUND)
+	set(UMEM_LIBRARY "")
+	set(UMEM_INCLUDE_DIR "")
+endif()
 
 if(NOT WITHOUT_LOCK_TRACKING)
 	set(JEFFPC_LOCK_TRACKING 1)