WIP
[m6w6/libmemcached] / src / libmemcachedprotocol / CMakeLists.txt
index 7080bd9e6dcddc0a1078376a0aaa1c57e2d12d78..c0c3cffad01cfba1b822280ab902edd0faaa6a16 100644 (file)
@@ -1,3 +1,4 @@
+check_header(umem.h)
 
 add_library(libmemcachedprotocol SHARED
         ascii_handler.c
@@ -9,12 +10,17 @@ add_library(libmemcachedprotocol SHARED
         )
 add_library(memcachedprotocol ALIAS libmemcachedprotocol)
 set_target_properties(libmemcachedprotocol PROPERTIES
+        CXX_STANDARD ${CXX_STANDARD}
         LIBRARY_OUTPUT_NAME memcachedprotocol
-        INSTALL_RPATH $ORIGIN
-        SOVERSION ${LIBMEMCACHEDPROTOCOL_SO_VERSION}
-        VERSION v${LIBMEMCACHEDPROTOCOL_VERSION})
+        LIBRARY_OUTPUT_NAME_DEBUG memcachedprotocol-dbg
+        SOVERSION ${LIBMEMCACHEDPROTOCOL_SO_VERSION})
 target_compile_definitions(libmemcachedprotocol PRIVATE -DBUILDING_LIBMEMCACHED)
-target_link_libraries(libmemcachedprotocol PUBLIC libmemcached Threads::Threads)
+if(CMAKE_CXX_COMPILER_ID STREQUAL AppleClang)
+       set_target_properties(libmemcachedprotocol PROPERTIES
+               LINK_FLAGS "-Wl,-undefined,dynamic_lookup"
+               )
+endif()
+target_link_libraries(libmemcachedprotocol PUBLIC Threads::Threads)
 target_include_directories(libmemcachedprotocol PRIVATE
         ${CMAKE_SOURCE_DIR}/src
         ${CMAKE_BINARY_DIR}/src
@@ -24,7 +30,7 @@ target_include_directories(libmemcachedprotocol PUBLIC
         $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/include>
         $<INSTALL_INTERFACE:include>)
 
-install(TARGETS libmemcachedprotocol EXPORT libmemcachedprotocol
+install(TARGETS libmemcachedprotocol EXPORT libmemcachedprotocol-targets
         LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
-export(EXPORT libmemcachedprotocol)
-install(EXPORT libmemcachedprotocol DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/cmake)
+export(EXPORT libmemcachedprotocol-targets NAMESPACE libmemcached::)
+install(EXPORT libmemcachedprotocol-targets NAMESPACE libmemcached:: DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/cmake)