cmake: build&run tests (sortof)
[awesomized/libmemcached] / clients / CMakeLists.txt
1
2 add_library(libclient_utilities STATIC utilities.cc generator.cc execute.cc)
3 add_library(client_utilities ALIAS libclient_utilities)
4 target_include_directories(libclient_utilities PRIVATE ..)
5 target_link_libraries(libclient_utilities libmemcachedinternal)
6
7 foreach(CLIENT IN LISTS CLIENTS)
8 add_executable(${CLIENT} ${CLIENT}.cc)
9 target_include_directories(${CLIENT} PRIVATE ..)
10 target_link_libraries(${CLIENT} libclient_utilities)
11 endforeach()
12
13 # extra sources
14
15 target_sources(memcapable PRIVATE ../libmemcached/byteorder.cc)
16
17 # extra libs
18
19 target_link_libraries(memcapable Threads::Threads)
20 target_link_libraries(memping libmemcachedutil)
21 target_link_libraries(memslap Threads::Threads)
22
23 # memaslap is special
24
25 find_library(LIBEVENT event)
26 check_stdatomic()
27
28 if(LIBEVENT AND HAVE_C_STDATOMIC)
29 check_decl(getline stdio.h)
30 add_executable(memaslap memaslap.c
31 ms_conn.c ms_setting.c ms_sigsegv.c ms_stats.c ms_task.c ms_thread.c)
32 target_include_directories(memaslap PRIVATE ..)
33 target_link_libraries(memaslap libclient_utilities ${LIBEVENT} Threads::Threads)
34 endif()