cmake
[m6w6/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 install(TARGETS ${CLIENT})
12 endforeach()
13
14 # extra sources
15
16 target_sources(memcapable PRIVATE ../libmemcached/byteorder.cc)
17
18 # extra libs
19
20 target_link_libraries(memcapable Threads::Threads)
21 target_link_libraries(memping libmemcachedutil)
22 target_link_libraries(memslap Threads::Threads)
23
24 # memaslap is special
25
26 if(ENABLE_MEMASLAP)
27 if(LIBEVENT AND HAVE_C_STDATOMIC)
28 add_executable(memaslap memaslap.c
29 ms_conn.c ms_setting.c ms_sigsegv.c ms_stats.c ms_task.c ms_thread.c)
30 target_include_directories(memaslap PRIVATE .. ${LIBEVENT_INCLUDEDIR})
31 target_link_libraries(memaslap libclient_utilities ${LIBEVENT_LIBRARIES} Threads::Threads)
32 install(TARGETS memaslap)
33 endif()
34 endif()