cmake: build&run tests (sortof)
[m6w6/libmemcached] / libtest / CMakeLists.txt
1
2 file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/tmp_chroot)
3 file(GENERATE OUTPUT ${CMAKE_BINARY_DIR}/libtool CONTENT
4 "#!/bin/bash
5 shift
6 exec $@
7 ")
8 if(UNIX)
9 execute_process(COMMAND chmod +x ${CMAKE_BINARY_DIR}/libtool)
10 endif()
11
12 add_library(libtest STATIC
13 alarm.cc
14 binaries.cc
15 client.cc
16 cmdline.cc
17 collection.cc
18 comparison.cc
19 core.cc
20 cpu.cc
21 dns.cc
22 dream.cc
23 drizzled.cc
24 exception.cc
25 exception/fatal.cc
26 formatter.cc
27 framework.cc
28 gearmand.cc
29 has.cc
30 http.cc
31 is_local.cc
32 killpid.cc
33 libtool.cc
34 main.cc
35 memcached.cc
36 port.cc
37 result.cc
38 runner.cc
39 server.cc
40 server_container.cc
41 signal.cc
42 socket.cc
43 strerror.cc
44 timer.cc
45 tmpfile.cc
46 vchar.cc
47 )
48 set_target_properties(libtest PROPERTIES LIBRARY_OUTPUT_NAME test)
49 target_compile_definitions(libtest PRIVATE
50 BUILDING_LIBTEST=1
51 LIBTEST_TEMP=\"${CMAKE_BINARY_DIR}/tmp_chroot\"
52
53 DRIZZLED_BINARY=\"drizzled\"
54 GEARMAND_BINARY=\"gearmand\"
55 MEMCACHED_BINARY=\"/usr/bin/memcached\"
56 HAVE_MEMCACHED_BINARY=1
57 )
58 target_link_libraries(libtest PRIVATE Threads::Threads ${CMAKE_DL_LIBS})
59 target_include_directories(libtest PRIVATE ..)
60
61 add_executable(wait wait.cc dream.cc)
62 target_include_directories(wait PRIVATE ..)
63
64 add_executable(core_count core_count.cc cpu.cc)
65 target_include_directories(core_count PRIVATE ..)
66
67 add_executable(abort abort.cc)
68 add_executable(backtrace backtrace_test.cc ../libmemcached/backtrace.cc)
69 target_link_libraries(backtrace PRIVATE ${CMAKE_DL_LIBS})
70 target_include_directories(backtrace PRIVATE ..)
71
72 configure_file(yatlcon.h.in yatlcon.h @ONLY)
73 configure_file(version.h.in version.h @ONLY)