daeec57b9123aa7087b4e7c98368dca0792a88de
[m6w6/libmemcached] / src / libhashkit / CMakeLists.txt
1 if(HAVE_HSIEH_HASH)
2 set(HSIEH_CC hsieh.cc)
3 else()
4 set(HSIEH_CC nohsieh.cc)
5 endif()
6
7 add_library(libhashkit SHARED
8 aes.cc
9 algorithm.cc
10 common.h
11 crc32.cc
12 digest.cc
13 encrypt.cc
14 fnv_32.cc
15 fnv_64.cc
16 function.cc
17 has.cc
18 hashkit.cc
19 ${HSIEH_CC}
20 jenkins.cc
21 md5.cc
22 murmur.cc
23 murmur3.cc
24 murmur3_api.cc
25 one_at_a_time.cc
26 rijndael.cc
27 str_algorithm.cc
28 strerror.cc
29 string.cc
30 )
31 add_library(hashkit ALIAS libhashkit)
32 set_target_properties(libhashkit PROPERTIES
33 LIBRARY_OUTPUT_NAME hashkit
34 LIBRARY_OUTPUT_NAME_DEBUG hashkit-dbg
35 SOVERSION ${LIBHASHKIT_SO_VERSION}
36 VERSION v${LIBHASHKIT_VERSION})
37 target_compile_options(libhashkit PRIVATE -DBUILDING_HASHKIT)
38 target_include_directories(libhashkit PRIVATE
39 ${CMAKE_SOURCE_DIR}/src
40 ${CMAKE_BINARY_DIR}/src
41 ${CMAKE_BINARY_DIR})
42 target_include_directories(libhashkit PUBLIC
43 $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/include>
44 $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/include>
45 $<INSTALL_INTERFACE:include>)
46 configure_file(hashkitcon.h.in hashkitcon.h @ONLY)
47
48 install(TARGETS libhashkit EXPORT libhashkit-targets
49 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
50 export(EXPORT libhashkit-targets NAMESPACE libmemcached::)
51 install(EXPORT libhashkit-targets NAMESPACE libmemcached:: DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/cmake)
52
53 install_public_headers(
54 libhashkit
55
56 hashkit.h
57 )