cmake: add public headers to project source files
[m6w6/libmemcached] / src / libmemcachedutil / CMakeLists.txt
index d135f35b7cf77bb10b1145dca73904f46274496e..78e87d305fe1bac2dac89c87a178d37bcda9512b 100644 (file)
@@ -1,5 +1,4 @@
-
-add_library(libmemcachedutil SHARED
+set(libmemcachedutil_sources
         ../libmemcached/backtrace.cc
         common.h
         flush.cc
@@ -7,25 +6,25 @@ add_library(libmemcachedutil SHARED
         ping.cc
         version.cc
         )
+add_library(libmemcachedutil SHARED)
+add_library(memcachedutil ALIAS libmemcachedutil)
 if(CMAKE_USE_PTHREADS_INIT)
     target_sources(libmemcachedutil PRIVATE pool.cc)
 endif()
-add_library(memcachedutil ALIAS libmemcachedutil)
 set_target_properties(libmemcachedutil PROPERTIES
         CXX_STANDARD ${CXX_STANDARD}
         LIBRARY_OUTPUT_NAME memcachedutil
         LIBRARY_OUTPUT_NAME_DEBUG memcachedutil-dbg
-        SOVERSION ${LIBMEMCACHEDUTIL_SO_VERSION})
+        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()
-if(MSVC)
-        set_target_properties(libmemcachedutil PROPERTIES
-                LINK_FLAGS "/FORCE:UNRESOLVED"
-                )
+if(MSVC OR MINGW)
+    target_link_libraries(libmemcachedutil PUBLIC libmemcached)
 endif()
 target_link_libraries(libmemcachedutil PUBLIC Threads::Threads)
 if(HAVE_LIBSASL)
@@ -42,10 +41,15 @@ target_include_directories(libmemcachedutil PUBLIC
 
 install(TARGETS libmemcachedutil EXPORT libmemcachedutil-targets
         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::
         COMPONENT dev
-        DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/cmake)
+        DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
+
+target_sources(libmemcachedutil PRIVATE
+    ${libmemcachedutil_sources}
+    ${libmemcachedutil_includes})