memaslap: fix leaks
[awesomized/libmemcached] / src / bin / CMakeLists.txt
1 add_subdirectory(common)
2
3 foreach(CLIENT IN LISTS CLIENTS)
4 add_executable(${CLIENT} ${CLIENT}.cc)
5 target_include_directories(${CLIENT} PRIVATE ..)
6 target_link_libraries(${CLIENT} PRIVATE libclient_common)
7 if(CMAKE_INSTALL_RPATH)
8 set_target_properties(${CLIENT} PROPERTIES
9 INSTALL_RPATH ${CMAKE_INSTALL_RPATH}/../${CMAKE_INSTALL_LIBDIR})
10 endif()
11 install(TARGETS ${CLIENT}
12 RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
13 endforeach()
14
15 # extra sources
16
17 target_sources(memcapable PRIVATE ../libmemcached/byteorder.cc)
18
19 # extra libs
20
21 target_link_libraries(memcapable PRIVATE Threads::Threads)
22 target_link_libraries(memping PRIVATE libmemcachedutil)
23 target_link_libraries(memslap PRIVATE Threads::Threads)
24
25 # memaslap is special
26
27 if(HAVE_MEMASLAP)
28 add_executable(memaslap memaslap.c
29 memaslap/ms_conn.c
30 memaslap/ms_setting.c
31 memaslap/ms_sigsegv.c
32 memaslap/ms_stats.c
33 memaslap/ms_task.c
34 memaslap/ms_thread.c)
35 target_include_directories(memaslap PRIVATE memaslap)
36 target_link_libraries(memaslap PRIVATE libclient_common Threads::Threads)
37 if(PKG_CONFIG_FOUND)
38 target_link_libraries(memaslap PRIVATE PkgConfig::LIBEVENT)
39 else()
40 target_include_directories(memaslap PRIVATE ${LIBEVENT_INCLUDEDIR})
41 target_link_libraries(memaslap PRIVATE ${LIBEVENT_LIBRARIES})
42 endif()
43 if(CMAKE_INSTALL_RPATH)
44 set_target_properties(${CLIENT} PROPERTIES
45 INSTALL_RPATH ${CMAKE_INSTALL_RPATH}/../${CMAKE_INSTALL_LIBDIR})
46 endif()
47 install(TARGETS memaslap
48 RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
49 endif()