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