cmake: compat with <3.12
[awesomized/libmemcached] / src / libhashkit / CMakeLists.txt
index 6decd186a1e5d7870a92322d43df8f2e1ecbc567..1a03de2365f25a72eafa7882d913be7352b974d7 100644 (file)
@@ -1,13 +1,7 @@
-if(HAVE_HSIEH_HASH)
-    set(HSIEH_CC hsieh.cc)
-else()
-    set(HSIEH_CC nohsieh.cc)
-endif()
-
 add_library(libhashkit SHARED
         aes.cc
         algorithm.cc
-        behavior.cc
+        common.h
         crc32.cc
         digest.cc
         encrypt.cc
@@ -16,9 +10,8 @@ add_library(libhashkit SHARED
         function.cc
         has.cc
         hashkit.cc
-        ${HSIEH_CC}
+        hsieh.cc
         jenkins.cc
-        ketama.cc
         md5.cc
         murmur.cc
         murmur3.cc
@@ -30,16 +23,31 @@ add_library(libhashkit SHARED
         string.cc
         )
 add_library(hashkit ALIAS libhashkit)
-set_target_properties(libhashkit PROPERTIES LIBRARY_OUTPUT_NAME hashkit)
+set_target_properties(libhashkit PROPERTIES
+        CXX_STANDARD ${CXX_STANDARD}
+        LIBRARY_OUTPUT_NAME hashkit
+        LIBRARY_OUTPUT_NAME_DEBUG hashkit-dbg
+        SOVERSION ${LIBHASHKIT_SO_VERSION})
 target_compile_options(libhashkit PRIVATE -DBUILDING_HASHKIT)
-
+target_include_directories(libhashkit PRIVATE
+        ${CMAKE_SOURCE_DIR}/src
+        ${CMAKE_BINARY_DIR}/src
+        ${CMAKE_BINARY_DIR})
+target_include_directories(libhashkit PUBLIC
+        $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/include>
+        $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/include>
+        $<INSTALL_INTERFACE:include>)
 configure_file(hashkitcon.h.in hashkitcon.h @ONLY)
 
-set_target_properties(libhashkit PROPERTIES SOVERSION ${LIBHASHKIT_SO_VERSION})
-install(TARGETS libhashkit EXPORT libhashkit
-        LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
-export(EXPORT libhashkit)
-install(EXPORT libhashkit DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/cmake)
+install(TARGETS libhashkit EXPORT libhashkit-targets
+        LIBRARY
+        COMPONENT lib
+        ${TARGET_NAMELINK_COMPONENT}
+        DESTINATION ${CMAKE_INSTALL_LIBDIR})
+export(EXPORT libhashkit-targets NAMESPACE libmemcached::)
+install(EXPORT libhashkit-targets NAMESPACE libmemcached::
+        COMPONENT dev
+        DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/cmake)
 
 install_public_headers(
         libhashkit