cmake: build&run tests (sortof)
[m6w6/libmemcached] / libmemcached / CMakeLists.txt
1
2 find_package(FLEX)
3 find_package(BISON)
4
5 bison_target(CSL_PARSER csl/parser.yy ${CMAKE_CURRENT_BINARY_DIR}/csl/parser.cc
6 DEFINES_FILE ${CMAKE_CURRENT_BINARY_DIR}/csl/parser.h
7 )
8 flex_target(CSL_SCANNER csl/scanner.l ${CMAKE_CURRENT_BINARY_DIR}/csl/scanner.cc
9 DEFINES_FILE ${CMAKE_CURRENT_BINARY_DIR}/csl/scanner.h
10 )
11 add_flex_bison_dependency(CSL_SCANNER CSL_PARSER)
12
13 set(LIBMEMCACHED_SOURCES
14 csl/context.cc
15 ${BISON_CSL_PARSER_OUTPUTS}
16 ${FLEX_CSL_SCANNER_OUTPUTS}
17 allocators.cc
18 analyze.cc
19 array.c
20 auto.cc
21 backtrace.cc
22 behavior.cc
23 byteorder.cc
24 callback.cc
25 connect.cc
26 delete.cc
27 do.cc
28 dump.cc
29 encoding_key.cc
30 error.cc
31 exist.cc
32 fetch.cc
33 flag.cc
34 flush.cc
35 flush_buffers.cc
36 get.cc
37 hash.cc
38 hosts.cc
39 initialize_query.cc
40 instance.cc
41 io.cc
42 key.cc
43 memcached.cc
44 namespace.cc
45 options.cc
46 parse.cc
47 poll.cc
48 purge.cc
49 quit.cc
50 response.cc
51 result.cc
52 sasl.cc
53 server.cc
54 server_list.cc
55 stats.cc
56 storage.cc
57 strerror.cc
58 string.cc
59 touch.cc
60 udp.cc
61 verbosity.cc
62 version.cc
63 virtual_bucket.c)
64
65 add_library(libmemcached SHARED
66 ${LIBMEMCACHED_SOURCES})
67 add_library(memcached ALIAS libmemcached)
68 set_target_properties(libmemcached PROPERTIES LIBRARY_OUTPUT_NAME memcached)
69 target_link_libraries(libmemcached libhashkit Threads::Threads ${CMAKE_DL_LIBS})
70 target_include_directories(libmemcached PRIVATE ..)
71 target_compile_definitions(libmemcached PRIVATE -DBUILDING_LIBMEMCACHED)
72
73 add_library(libmemcachedinternal STATIC
74 ${LIBMEMCACHED_SOURCES})
75 add_library(memcachedinternal ALIAS libmemcachedinternal)
76 set_target_properties(libmemcachedinternal PROPERTIES LIBRARY_OUTPUT_NAME memcachedinternal)
77 target_link_libraries(libmemcachedinternal libhashkit Threads::Threads ${CMAKE_DL_LIBS})
78 target_include_directories(libmemcachedinternal PRIVATE ..)
79 target_compile_definitions(libmemcachedinternal PRIVATE -DBUILDING_LIBMEMCACHEDINTERNAL)