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