Merge pull request #140 from hussainnaqvee/patch-1
[awesomized/libmemcached] / src / libmemcachedutil / CMakeLists.txt
index 594099bf983ccae6f2de17fcdc9617060416bbbc..1fd0fa39895cc7bf6f71c232ddc6d90a37d9764a 100644 (file)
@@ -1,26 +1,29 @@
-
-add_library(libmemcachedutil SHARED
+set(libmemcachedutil_sources
         ../libmemcached/backtrace.cc
         common.h
         flush.cc
         pid.cc
         ping.cc
-        pool.cc
         version.cc
         )
+add_library(libmemcachedutil)
 add_library(memcachedutil ALIAS libmemcachedutil)
+if(CMAKE_USE_PTHREADS_INIT)
+    target_sources(libmemcachedutil PRIVATE pool.cc)
+endif()
 set_target_properties(libmemcachedutil PROPERTIES
         CXX_STANDARD ${CXX_STANDARD}
-        LIBRARY_OUTPUT_NAME memcachedutil
-        LIBRARY_OUTPUT_NAME_DEBUG memcachedutil-dbg
-        SOVERSION ${LIBMEMCACHEDUTIL_SO_VERSION})
+        OUTPUT_NAME memcachedutil
+        OUTPUT_NAME_DEBUG memcachedutil-dbg
+        SOVERSION ${LIBMEMCACHEDUTIL_SO_SOVERSION}
+        VERSION ${LIBMEMCACHEDUTIL_SO_VERSION})
 target_compile_definitions(libmemcachedutil PRIVATE -DBUILDING_LIBMEMCACHED)
 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)
+target_link_libraries(libmemcachedutil PUBLIC libmemcached Threads::Threads)
 if(HAVE_LIBSASL)
     target_link_libraries(libmemcachedutil PUBLIC ${LIBSASL})
 endif()
@@ -34,6 +37,16 @@ target_include_directories(libmemcachedutil PUBLIC
         $<INSTALL_INTERFACE:include>)
 
 install(TARGETS libmemcachedutil EXPORT libmemcachedutil-targets
-        LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+        RUNTIME COMPONENT bin DESTINATION ${CMAKE_INSTALL_BINDIR}
+        ARCHIVE COMPONENT lib DESTINATION ${CMAKE_INSTALL_LIBDIR}
+        LIBRARY COMPONENT lib DESTINATION ${CMAKE_INSTALL_LIBDIR}
+        ${TARGET_NAMELINK_COMPONENT}
+        )
 export(EXPORT libmemcachedutil-targets NAMESPACE libmemcached::)
-install(EXPORT libmemcachedutil-targets NAMESPACE libmemcached:: DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/cmake)
+install(EXPORT libmemcachedutil-targets NAMESPACE libmemcached::
+        COMPONENT dev
+        DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
+
+target_sources(libmemcachedutil PRIVATE
+    ${libmemcachedutil_sources}
+    ${libmemcachedutil_includes})