X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Fbin%2FCMakeLists.txt;h=b4868b4b66e89b0ff036a1da1af905aa5be3821f;hb=6e77392804b33fec81b9d6d3fc3fd65c4b879ce1;hp=ee771891d7352ea7d15e9f1e064c73d48dff41ce;hpb=f0718ff0a0d9f807ac98bbc8f028ba2f1c1c3577;p=m6w6%2Flibmemcached diff --git a/src/bin/CMakeLists.txt b/src/bin/CMakeLists.txt index ee771891..b4868b4b 100644 --- a/src/bin/CMakeLists.txt +++ b/src/bin/CMakeLists.txt @@ -1,20 +1,14 @@ - -add_library(libclient_utilities STATIC utilities.cc generator.cc execute.cc) -add_library(client_utilities ALIAS libclient_utilities) -target_link_libraries(libclient_utilities PRIVATE libmemcachedinternal) -target_include_directories(libclient_utilities PUBLIC - ${CMAKE_SOURCE_DIR}/include - ${CMAKE_BINARY_DIR}/include - ${CMAKE_SOURCE_DIR}/src - ${CMAKE_BINARY_DIR}/src - ${CMAKE_BINARY_DIR}) - +add_subdirectory(common) foreach(CLIENT IN LISTS CLIENTS) add_executable(${CLIENT} ${CLIENT}.cc) + set_property(TARGET ${CLIENT} PROPERTY CXX_STANDARD ${CXX_STANDARD}) target_include_directories(${CLIENT} PRIVATE ..) - target_link_libraries(${CLIENT} PRIVATE libclient_utilities) - set_target_properties(${CLIENT} PROPERTIES INSTALL_RPATH $ORIGIN/../${CMAKE_INSTALL_LIBDIR}) + target_link_libraries(${CLIENT} PRIVATE libclient_common) + if(CMAKE_INSTALL_RPATH) + set_target_properties(${CLIENT} PROPERTIES + INSTALL_RPATH ${CMAKE_INSTALL_RPATH}/../${CMAKE_INSTALL_LIBDIR}) + endif() install(TARGETS ${CLIENT} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) endforeach() @@ -31,13 +25,20 @@ target_link_libraries(memslap PRIVATE Threads::Threads) # memaslap is special -if(ENABLE_MEMASLAP) - if(LIBEVENT AND HAVE_C_STDATOMIC) - add_executable(memaslap memaslap.c - ms_conn.c ms_setting.c ms_sigsegv.c ms_stats.c ms_task.c ms_thread.c) - target_include_directories(memaslap PRIVATE ${LIBEVENT_INCLUDEDIR}) - target_link_libraries(memaslap PRIVATE libclient_utilities ${LIBEVENT_LIBRARIES} Threads::Threads) - install(TARGETS memaslap - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) +if(HAVE_MEMASLAP) + add_executable(memaslap memaslap.c + memaslap/ms_conn.c + memaslap/ms_setting.c + memaslap/ms_sigsegv.c + memaslap/ms_stats.c + memaslap/ms_task.c + memaslap/ms_thread.c) + target_include_directories(memaslap PRIVATE memaslap) + target_link_libraries(memaslap PRIVATE libclient_common Threads::Threads ${LIBEVENT}) + if(CMAKE_INSTALL_RPATH) + set_target_properties(${CLIENT} PROPERTIES + INSTALL_RPATH ${CMAKE_INSTALL_RPATH}/../${CMAKE_INSTALL_LIBDIR}) endif() + install(TARGETS memaslap + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) endif()