WIP
[m6w6/libmemcached] / contrib / bin / memaslap / CMakeLists.txt
1 if(ENABLE_MEMASLAP)
2 include(CheckAtomics)
3 add_definitions(-D_GNU_SOURCE)
4 check_atomics()
5 check_dependency(LIBEVENT event event.h)
6 check_decl(getline stdio.h)
7 check_decl(_SC_NPROCESSORS_ONLN unistd.h)
8 check_type(cpu_set_t sched.h)
9
10 if(HAVE_LIBEVENT AND HAVE_ATOMICS)
11 add_executable(memaslap
12 ms_main.c
13 ms_conn.c
14 ms_setting.c
15 ms_sigsegv.c
16 ms_stats.c
17 ms_task.c
18 ms_thread.c)
19 target_include_directories(memaslap PRIVATE
20 ${CMAKE_SOURCE_DIR}/include
21 ${CMAKE_BINARY_DIR}/include
22 ${CMAKE_SOURCE_DIR}/src
23 ${CMAKE_BINARY_DIR}/src
24 ${CMAKE_BINARY_DIR})
25 target_link_libraries(memaslap PUBLIC libmemcached Threads::Threads ${LIBEVENT} m)
26 set_property(TARGET memaslap PROPERTY C_STANDARD 11)
27 if(CMAKE_INSTALL_RPATH)
28 set_target_properties(${CLIENT} PROPERTIES
29 INSTALL_RPATH ${CMAKE_INSTALL_RPATH}/../${CMAKE_INSTALL_LIBDIR})
30 endif()
31 install(TARGETS memaslap
32 RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
33 endif()
34
35 endif()