X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Flibmemcached%2FCMakeLists.txt;h=81d84638d13767d71a2f46466d6c376d4ac0ae71;hb=2aab18117a2b078dd0eb366f3766a1fef06da695;hp=a6de76b771509fa8f826b6dc675f8327ff956f43;hpb=d180295a76d7e43b357765a8a6434fdf5f7d3abd;p=awesomized%2Flibmemcached diff --git a/src/libmemcached/CMakeLists.txt b/src/libmemcached/CMakeLists.txt index a6de76b7..81d84638 100644 --- a/src/libmemcached/CMakeLists.txt +++ b/src/libmemcached/CMakeLists.txt @@ -1,9 +1,8 @@ - find_package(FLEX) find_package(BISON 2.3) if("${BISON_VERSION}" VERSION_GREATER_EQUAL 3.0) - set(BISON_WARNINGS -Wno-deprecated) + set(BISON_WARNINGS -Wno-deprecated) endif() file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/csl) @@ -11,24 +10,26 @@ bison_target(CSL_PARSER csl/parser.yy ${CMAKE_CURRENT_BINARY_DIR}/csl/parser.cc DEFINES_FILE ${CMAKE_CURRENT_BINARY_DIR}/csl/parser.h COMPILE_FLAGS ${BISON_WARNINGS} ) -set_source_files_properties(${BISON_CSL_PARSER_OUTPUTS} PROPERTIES SKIP_UNITY_BUILD_INCLUSION ON) +set_source_files_properties(${BISON_CSL_PARSER_OUTPUTS} PROPERTIES + SKIP_UNITY_BUILD_INCLUSION ON) if(NOT HAVE_UNISTD_H) - set(FLEX_FLAGS --nounistd) + set(FLEX_FLAGS --nounistd) endif() flex_target(CSL_SCANNER csl/scanner.l ${CMAKE_CURRENT_BINARY_DIR}/csl/scanner.cc DEFINES_FILE ${CMAKE_CURRENT_BINARY_DIR}/csl/scanner.h COMPILE_FLAGS "${FLEX_FLAGS}" ) -set_source_files_properties(${FLEX_CSL_SCANNER_OUTPUTS} PROPERTIES SKIP_UNITY_BUILD_INCLUSION ON) +set_source_files_properties(${FLEX_CSL_SCANNER_OUTPUTS} PROPERTIES + SKIP_UNITY_BUILD_INCLUSION ON) add_flex_bison_dependency(CSL_SCANNER CSL_PARSER) -set(LIBMEMCACHED_SOURCES +set(libmemcached_sources csl/context.cc - ${BISON_CSL_PARSER_OUTPUTS} ${FLEX_CSL_SCANNER_OUTPUTS} + ${BISON_CSL_PARSER_OUTPUTS} allocators.cc analyze.cc - array.c + array.cc auto.cc backtrace.cc behavior.cc @@ -72,7 +73,7 @@ set(LIBMEMCACHED_SOURCES udp.cc verbosity.cc version.cc - virtual_bucket.c) + virtual_bucket.cc) check_cxx_compiler_flag(-Wno-deprecated-register W_NO_DEPRECATED_REGISTER) @@ -84,14 +85,14 @@ if(W_NO_DEPRECATED_REGISTER) ) endif() -add_library(libmemcached SHARED - ${LIBMEMCACHED_SOURCES}) +add_library(libmemcached SHARED) add_library(memcached ALIAS libmemcached) set_target_properties(libmemcached PROPERTIES CXX_STANDARD ${CXX_STANDARD} LIBRARY_OUTPUT_NAME memcached LIBRARY_OUTPUT_NAME_DEBUG memcached-dbg - SOVERSION ${LIBMEMCACHED_SO_VERSION}) + SOVERSION ${LIBMEMCACHED_SO_SOVERSION} + VERSION ${LIBMEMCACHED_SO_VERSION}) target_compile_definitions(libmemcached PRIVATE -DBUILDING_LIBMEMCACHED) target_link_libraries(libmemcached PUBLIC libhashkit Threads::Threads ${CMAKE_DL_LIBS}) target_link_libraries(libmemcached PRIVATE p9y) @@ -120,14 +121,15 @@ target_include_directories(libmemcached PUBLIC enable_dtrace_for(libmemcached libmemcached_probes.d dtrace_probes.h) install(TARGETS libmemcached EXPORT libmemcached-targets - LIBRARY - COMPONENT lib + RUNTIME COMPONENT bin DESTINATION ${CMAKE_INSTALL_BINDIR} + ARCHIVE COMPONENT lib DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY COMPONENT lib DESTINATION ${CMAKE_INSTALL_LIBDIR} ${TARGET_NAMELINK_COMPONENT} - DESTINATION ${CMAKE_INSTALL_LIBDIR}) + ) export(EXPORT libmemcached-targets NAMESPACE libmemcached::) install(EXPORT libmemcached-targets NAMESPACE libmemcached:: COMPONENT dev - DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/cmake) + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}) install_public_headers( libmemcached @@ -137,14 +139,19 @@ install_public_headers( util.h ) -add_library(libmemcachedinternal STATIC - ${LIBMEMCACHED_SOURCES}) +target_sources(libmemcached PRIVATE + ${libmemcached_sources} + ${libmemcached_includes}) + +# TODO: do we really need this? + +add_library(libmemcachedinternal STATIC) add_library(memcachedinternal ALIAS libmemcachedinternal) set_target_properties(libmemcachedinternal PROPERTIES CXX_STANDARD ${CXX_STANDARD} LIBRARY_OUTPUT_NAME memcachedinternal) target_compile_definitions(libmemcachedinternal PRIVATE -DBUILDING_LIBMEMCACHEDINTERNAL) target_link_libraries(libmemcachedinternal PUBLIC libhashkit Threads::Threads ${CMAKE_DL_LIBS}) target_link_libraries(libmemcachedinternal PRIVATE p9y) -if(MSVC) +if(MSVC OR MINGW) target_link_libraries(libmemcached PUBLIC wsock32 ws2_32) endif() if(HAVE_LIBSASL) @@ -167,3 +174,7 @@ enable_dtrace_for(libmemcachedinternal libmemcached_probes.d dtrace_probes.h) # let libmemcached depend on libmemcachedinternal to ensure that they do not # compete for the same generated dependencies add_dependencies(libmemcached libmemcachedinternal) + +target_sources(libmemcachedinternal PRIVATE + ${libmemcached_sources} + ${libmemcached_includes})