do not use VERSION target property; confuses OpenBSD's ld
[m6w6/libmemcached] / src / libmemcachedutil / CMakeLists.txt
index cb281c3be8191af1be1f4a8dd306e405ec4639cc..594099bf983ccae6f2de17fcdc9617060416bbbc 100644 (file)
@@ -10,12 +10,20 @@ add_library(libmemcachedutil SHARED
         )
 add_library(memcachedutil ALIAS libmemcachedutil)
 set_target_properties(libmemcachedutil PROPERTIES
+        CXX_STANDARD ${CXX_STANDARD}
         LIBRARY_OUTPUT_NAME memcachedutil
-        INSTALL_RPATH $ORIGIN
-        SOVERSION ${LIBMEMCACHEDUTIL_SO_VERSION}
-        VERSION v${LIBMEMCACHEDUTIL_VERSION})
+        LIBRARY_OUTPUT_NAME_DEBUG memcachedutil-dbg
+        SOVERSION ${LIBMEMCACHEDUTIL_SO_VERSION})
 target_compile_definitions(libmemcachedutil PRIVATE -DBUILDING_LIBMEMCACHED)
-target_link_libraries(libmemcachedutil PUBLIC libmemcached Threads::Threads)
+if(CMAKE_CXX_COMPILER_ID STREQUAL AppleClang)
+       set_target_properties(libmemcachedutil PROPERTIES
+               LINK_FLAGS "-Wl,-undefined,dynamic_lookup"
+               )
+endif()
+target_link_libraries(libmemcachedutil PUBLIC Threads::Threads)
+if(HAVE_LIBSASL)
+    target_link_libraries(libmemcachedutil PUBLIC ${LIBSASL})
+endif()
 target_include_directories(libmemcachedutil PRIVATE
         ${CMAKE_SOURCE_DIR}/src
         ${CMAKE_BINARY_DIR}/src
@@ -25,7 +33,7 @@ target_include_directories(libmemcachedutil PUBLIC
         $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/include>
         $<INSTALL_INTERFACE:include>)
 
-install(TARGETS libmemcachedutil EXPORT libmemcachedutil
+install(TARGETS libmemcachedutil EXPORT libmemcachedutil-targets
         LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
-export(EXPORT libmemcachedutil)
-install(EXPORT libmemcachedutil DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/cmake)
+export(EXPORT libmemcachedutil-targets NAMESPACE libmemcached::)
+install(EXPORT libmemcachedutil-targets NAMESPACE libmemcached:: DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/cmake)