Mercurial > libjeffpc
annotate CMakeLists.txt @ 292:a693af78eeff
nvlist: CBOR (RFC 7049) encoding support
Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
author | Josef 'Jeff' Sipek <jeffpc@josefsipek.net> |
---|---|
date | Wed, 05 Jul 2017 23:45:44 +0300 |
parents | 54d1ea17d64b |
children | 1f6ae020116d |
rev | line source |
---|---|
0
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
1 # |
130
9a156f1dcd0e
taskq: implement a simple fixed-size thread pool
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
114
diff
changeset
|
2 # Copyright (c) 2016-2017 Josef 'Jeff' Sipek <jeffpc@josefsipek.net> |
0
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
3 # |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
4 # Permission is hereby granted, free of charge, to any person obtaining a copy |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
5 # of this software and associated documentation files (the "Software"), to deal |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
6 # in the Software without restriction, including without limitation the rights |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
7 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
8 # copies of the Software, and to permit persons to whom the Software is |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
9 # furnished to do so, subject to the following conditions: |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
10 # |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
11 # The above copyright notice and this permission notice shall be included in |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
12 # all copies or substantial portions of the Software. |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
13 # |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
14 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
15 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
16 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
17 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
18 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
19 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
20 # SOFTWARE. |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
21 # |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
22 |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
23 cmake_minimum_required(VERSION 2.8.12.2) |
43
1cc160d0edb6
cmake: identify the project in the top-level CMakeLists.txt
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
42
diff
changeset
|
24 project(libjeffpc) |
0
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
25 |
269
95ffcd6cf21e
libjeffpc 0.13-rc1
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
267
diff
changeset
|
26 set(JEFFPC_VERSION 0.13-rc1) |
187
f89655d2e205
cmake: keep version number in top-level CMakeLists.txt
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
183
diff
changeset
|
27 |
0
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
28 enable_testing() |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
29 |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
30 add_definitions( |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
31 -D__EXTENSIONS__ |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
32 -D_REENTRANT |
95
6939d2b1c8ab
cmake: specify that we want POSIX 2001 standard with GNU extensions
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
88
diff
changeset
|
33 -D_POSIX_C_SOURCE=200112L |
6939d2b1c8ab
cmake: specify that we want POSIX 2001 standard with GNU extensions
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
88
diff
changeset
|
34 -D_GNU_SOURCE |
0
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
35 ) |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
36 |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
37 add_compile_options( |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
38 -Wall |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
39 -O2 |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
40 -g |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
41 -std=gnu99 |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
42 -fno-omit-frame-pointer |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
43 $<$<C_COMPILER_ID:gcc>:-fno-inline-small-functions> |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
44 $<$<C_COMPILER_ID:gcc>:-fno-inline-functions-called-once> |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
45 ) |
1
d5e68b231e18
atomic: define a type checking atomic ops
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
46 |
25
3cb979d08023
config: support for build-time feature checks
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
24
diff
changeset
|
47 set(CMAKE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/cmake") |
3cb979d08023
config: support for build-time feature checks
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
24
diff
changeset
|
48 |
3cb979d08023
config: support for build-time feature checks
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
24
diff
changeset
|
49 include(cmake/config.cmake) |
23
f7acc20835d4
cmake support for mapfiles
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
19
diff
changeset
|
50 include(cmake/mapfile.cmake) |
47
7447b2d42ad7
cmake: move all the test related macros into a separate file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
44
diff
changeset
|
51 include(cmake/test.cmake) |
64
a0728e64316c
cmake: let the user specify the location of the library
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
63
diff
changeset
|
52 include(cmake/paths.cmake) |
23
f7acc20835d4
cmake support for mapfiles
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
19
diff
changeset
|
53 |
38
90f182a38741
fakeumem: include internal fall-back to missing libumem
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
34
diff
changeset
|
54 # handle missing libumem |
90f182a38741
fakeumem: include internal fall-back to missing libumem
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
34
diff
changeset
|
55 if(NOT UMEM_FOUND) |
205
2f75aad47c2e
cmake: set UMEM_{LIBRARY,INCLUDE_DIR} to the empty string
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
204
diff
changeset
|
56 set(UMEM_LIBRARY "") |
2f75aad47c2e
cmake: set UMEM_{LIBRARY,INCLUDE_DIR} to the empty string
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
204
diff
changeset
|
57 set(UMEM_INCLUDE_DIR "") |
140
aa39202a5963
mem: add a slab allocator API
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
137
diff
changeset
|
58 set(UMEM_EXTRA_SOURCE) |
38
90f182a38741
fakeumem: include internal fall-back to missing libumem
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
34
diff
changeset
|
59 else() |
140
aa39202a5963
mem: add a slab allocator API
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
137
diff
changeset
|
60 set(UMEM_EXTRA_SOURCE slab_umem.c) |
38
90f182a38741
fakeumem: include internal fall-back to missing libumem
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
34
diff
changeset
|
61 endif() |
90f182a38741
fakeumem: include internal fall-back to missing libumem
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
34
diff
changeset
|
62 |
15
c8bd88e39c07
sexpr: S-expression parsing and manipulation code
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
14
diff
changeset
|
63 find_package(BISON) |
c8bd88e39c07
sexpr: S-expression parsing and manipulation code
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
14
diff
changeset
|
64 find_package(FLEX) |
c8bd88e39c07
sexpr: S-expression parsing and manipulation code
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
14
diff
changeset
|
65 |
4
49bec073c6e4
error: define assertion macros and a syslogging mechanism
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
2
diff
changeset
|
66 include_directories( |
49bec073c6e4
error: define assertion macros and a syslogging mechanism
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
2
diff
changeset
|
67 include |
38
90f182a38741
fakeumem: include internal fall-back to missing libumem
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
34
diff
changeset
|
68 ${UMEM_INCLUDE_DIR} |
4
49bec073c6e4
error: define assertion macros and a syslogging mechanism
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
2
diff
changeset
|
69 ) |
49bec073c6e4
error: define assertion macros and a syslogging mechanism
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
2
diff
changeset
|
70 |
62
97874539130d
cmake: #include "foo.h" should check the source directory as well
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
61
diff
changeset
|
71 # include the current source dir but only for: #include "foo.h" |
97874539130d
cmake: #include "foo.h" should check the source directory as well
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
61
diff
changeset
|
72 add_compile_options( |
179
bed61aae209f
build: -iquote the current binary dir
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
178
diff
changeset
|
73 -iquote${CMAKE_CURRENT_SOURCE_DIR} |
bed61aae209f
build: -iquote the current binary dir
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
178
diff
changeset
|
74 -iquote${CMAKE_CURRENT_BINARY_DIR} |
62
97874539130d
cmake: #include "foo.h" should check the source directory as well
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
61
diff
changeset
|
75 ) |
97874539130d
cmake: #include "foo.h" should check the source directory as well
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
61
diff
changeset
|
76 |
61
49acba50f6fc
cmake: output generated bison and flex files in the binary dir
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
49
diff
changeset
|
77 BISON_TARGET(sexpr sexpr.y ${CMAKE_CURRENT_BINARY_DIR}/sexpr.tab.c |
49acba50f6fc
cmake: output generated bison and flex files in the binary dir
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
49
diff
changeset
|
78 COMPILE_FLAGS "-p sexpr_reader_") |
49acba50f6fc
cmake: output generated bison and flex files in the binary dir
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
49
diff
changeset
|
79 FLEX_TARGET(sexpr sexpr.l ${CMAKE_CURRENT_BINARY_DIR}/sexpr.lex.c |
49acba50f6fc
cmake: output generated bison and flex files in the binary dir
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
49
diff
changeset
|
80 COMPILE_FLAGS "-P sexpr_reader_") |
15
c8bd88e39c07
sexpr: S-expression parsing and manipulation code
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
14
diff
changeset
|
81 ADD_FLEX_BISON_DEPENDENCY(sexpr sexpr) |
c8bd88e39c07
sexpr: S-expression parsing and manipulation code
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
14
diff
changeset
|
82 |
4
49bec073c6e4
error: define assertion macros and a syslogging mechanism
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
2
diff
changeset
|
83 add_library(jeffpc SHARED |
204
910021f14024
array: a resizable C array
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
199
diff
changeset
|
84 array.c |
250
0e4e45813eb9
buffer: introduce a simple growing memory buffer API
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
249
diff
changeset
|
85 buffer.c |
256
f82b45b662c9
buffer: use an ops vector to customize buffer behavior
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
250
diff
changeset
|
86 buffer_const.c |
f82b45b662c9
buffer: use an ops vector to customize buffer behavior
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
250
diff
changeset
|
87 buffer_heap.c |
f82b45b662c9
buffer: use an ops vector to customize buffer behavior
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
250
diff
changeset
|
88 buffer_sink.c |
207
103260f6b99c
cstr: add strcpy_safe
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
205
diff
changeset
|
89 cstr.c |
4
49bec073c6e4
error: define assertion macros and a syslogging mechanism
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
2
diff
changeset
|
90 error.c |
44
905e9ad459a0
hexdump: hexdump a buffer with or without a trailing \0
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
43
diff
changeset
|
91 hexdump.c |
19
017a4abcfe3d
init: add a single initialize-the-library function
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
15
diff
changeset
|
92 init.c |
14
33b45c955db2
io: safe file reading & writing functions
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
13
diff
changeset
|
93 io.c |
182
a24cc2a751fc
list: implement illumos-style linked list
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
181
diff
changeset
|
94 list.c |
262
89bf89fc814c
nvlist: introduce a name-value list API
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
258
diff
changeset
|
95 nvl.c |
274
c35b1f62bcac
nvlist: value type conversion code
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
273
diff
changeset
|
96 nvl_convert.c |
262
89bf89fc814c
nvlist: introduce a name-value list API
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
258
diff
changeset
|
97 nvl_dump.c |
292
a693af78eeff
nvlist: CBOR (RFC 7049) encoding support
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
291
diff
changeset
|
98 nvl_fmt_cbor.c |
266
721dd53c3639
nvlist: JSON (RFC 7159) encoding support
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
265
diff
changeset
|
99 nvl_fmt_json.c |
265
6cc52ba25b46
nvlist: pack framework
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
262
diff
changeset
|
100 nvl_pack.c |
6cc52ba25b46
nvlist: pack framework
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
262
diff
changeset
|
101 nvl_unpack.c |
79
449d56767f49
padding: add a function for padding checking
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
65
diff
changeset
|
102 padding.c |
32
118d3438c86b
rand: introduce random number generation
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
29
diff
changeset
|
103 rand.c |
15
c8bd88e39c07
sexpr: S-expression parsing and manipulation code
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
14
diff
changeset
|
104 sexpr.c |
114
73b4164d2811
sexpr: implement basic expression evaluation
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
104
diff
changeset
|
105 sexpr_eval.c |
15
c8bd88e39c07
sexpr: S-expression parsing and manipulation code
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
14
diff
changeset
|
106 ${FLEX_sexpr_OUTPUTS} ${BISON_sexpr_OUTPUTS} |
140
aa39202a5963
mem: add a slab allocator API
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
137
diff
changeset
|
107 slab.c |
88
7cbfcbcc3580
sock: make it easy to make client TCP/IP connections
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
84
diff
changeset
|
108 sock.c |
6
4317d47b267f
str: a reference counted string
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
4
diff
changeset
|
109 str.c |
103
021cf8b91cb3
synch: use functions instead of macros for pthread wrappers
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
95
diff
changeset
|
110 synch.c |
130
9a156f1dcd0e
taskq: implement a simple fixed-size thread pool
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
114
diff
changeset
|
111 taskq.c |
42
13e339c56f8a
uuid: implement UUID {generate,compare,clear}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
38
diff
changeset
|
112 uuid.c |
8
083d11258db6
val: a generic typed value structure
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
6
diff
changeset
|
113 val.c |
137
2943c4b289f1
version: add a jeffpc_version symbol with the hg version info
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
130
diff
changeset
|
114 version.c |
38
90f182a38741
fakeumem: include internal fall-back to missing libumem
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
34
diff
changeset
|
115 ${UMEM_EXTRA_SOURCE} |
6
4317d47b267f
str: a reference counted string
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
4
diff
changeset
|
116 ) |
4317d47b267f
str: a reference counted string
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
4
diff
changeset
|
117 |
4317d47b267f
str: a reference counted string
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
4
diff
changeset
|
118 target_link_libraries(jeffpc |
26
20bf88cb42eb
config: check for presence of libumem
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
25
diff
changeset
|
119 ${UMEM_LIBRARY} |
104
b1b1531f60d4
link against libpthread
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
103
diff
changeset
|
120 pthread |
42
13e339c56f8a
uuid: implement UUID {generate,compare,clear}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
38
diff
changeset
|
121 uuid |
4
49bec073c6e4
error: define assertion macros and a syslogging mechanism
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
2
diff
changeset
|
122 ) |
49bec073c6e4
error: define assertion macros and a syslogging mechanism
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
2
diff
changeset
|
123 |
281 | 124 add_library(jeffpc-comm SHARED |
286
45ebaa05bdd9
scgisvc: a SCGI service
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
282
diff
changeset
|
125 scgisvc.c |
282
4b52ab9eb514
socksvc: simple socket service
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
281
diff
changeset
|
126 socksvc.c |
281 | 127 ) |
128 | |
129 target_link_libraries(jeffpc-comm | |
130 jeffpc | |
131 ) | |
132 | |
273
b7ecfc4c1e13
rename library mapfile to better reflect which library it belongs to
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
269
diff
changeset
|
133 target_apply_mapfile(jeffpc jeffpc.mapfile-vers) |
281 | 134 target_apply_mapfile(jeffpc-comm jeffpc-comm.mapfile-vers) |
24
678c6a03bfa9
apply a version mapfile to the produced shared object
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
23
diff
changeset
|
135 |
290
f09190e05813
cmake: install libjeffpc-comm.so
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
289
diff
changeset
|
136 install(TARGETS jeffpc |
f09190e05813
cmake: install libjeffpc-comm.so
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
289
diff
changeset
|
137 jeffpc-comm |
f09190e05813
cmake: install libjeffpc-comm.so
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
289
diff
changeset
|
138 DESTINATION ${CMAKE_INSTALL_LIBDIR} |
4
49bec073c6e4
error: define assertion macros and a syslogging mechanism
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
2
diff
changeset
|
139 PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ) |
1
d5e68b231e18
atomic: define a type checking atomic ops
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
140 install(FILES include/jeffpc/atomic.h |
250
0e4e45813eb9
buffer: introduce a simple growing memory buffer API
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
249
diff
changeset
|
141 include/jeffpc/buffer.h |
207
103260f6b99c
cstr: add strcpy_safe
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
205
diff
changeset
|
142 include/jeffpc/cstr.h |
4
49bec073c6e4
error: define assertion macros and a syslogging mechanism
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
2
diff
changeset
|
143 include/jeffpc/error.h |
44
905e9ad459a0
hexdump: hexdump a buffer with or without a trailing \0
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
43
diff
changeset
|
144 include/jeffpc/hexdump.h |
10
9c2519c32502
int: string to integer conversion routines
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
8
diff
changeset
|
145 include/jeffpc/int.h |
14
33b45c955db2
io: safe file reading & writing functions
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
13
diff
changeset
|
146 include/jeffpc/io.h |
19
017a4abcfe3d
init: add a single initialize-the-library function
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
15
diff
changeset
|
147 include/jeffpc/jeffpc.h |
181
df388ec51431
list: implement linux kernel-style linked list
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
179
diff
changeset
|
148 include/jeffpc/list.h |
140
aa39202a5963
mem: add a slab allocator API
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
137
diff
changeset
|
149 include/jeffpc/mem.h |
262
89bf89fc814c
nvlist: introduce a name-value list API
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
258
diff
changeset
|
150 include/jeffpc/nvl.h |
79
449d56767f49
padding: add a function for padding checking
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
65
diff
changeset
|
151 include/jeffpc/padding.h |
32
118d3438c86b
rand: introduce random number generation
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
29
diff
changeset
|
152 include/jeffpc/rand.h |
2
1ef6d9d92cfa
refcnt: define a generic ref count type & macros
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
1
diff
changeset
|
153 include/jeffpc/refcnt.h |
291
54d1ea17d64b
scgi: move the SCGI header name definitions into a separate header file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
290
diff
changeset
|
154 include/jeffpc/scgi.h |
289
9a980c50a132
cmake: install scgisvc.h
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
286
diff
changeset
|
155 include/jeffpc/scgisvc.h |
15
c8bd88e39c07
sexpr: S-expression parsing and manipulation code
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
14
diff
changeset
|
156 include/jeffpc/sexpr.h |
88
7cbfcbcc3580
sock: make it easy to make client TCP/IP connections
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
84
diff
changeset
|
157 include/jeffpc/sock.h |
282
4b52ab9eb514
socksvc: simple socket service
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
281
diff
changeset
|
158 include/jeffpc/socksvc.h |
6
4317d47b267f
str: a reference counted string
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
4
diff
changeset
|
159 include/jeffpc/str.h |
65
a3bd464bf68f
cmake: install synch.h
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
64
diff
changeset
|
160 include/jeffpc/synch.h |
130
9a156f1dcd0e
taskq: implement a simple fixed-size thread pool
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
114
diff
changeset
|
161 include/jeffpc/taskq.h |
33
7fb711200ed7
thread: wrap pthread_{create,join,self}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
32
diff
changeset
|
162 include/jeffpc/thread.h |
29
91cd9c0ab45c
time: add gettime() to return unix time in nanoseconds
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
26
diff
changeset
|
163 include/jeffpc/time.h |
81
67f676c44e79
types: introduce ARRAY_LEN
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
80
diff
changeset
|
164 include/jeffpc/types.h |
42
13e339c56f8a
uuid: implement UUID {generate,compare,clear}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
38
diff
changeset
|
165 include/jeffpc/uuid.h |
8
083d11258db6
val: a generic typed value structure
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
6
diff
changeset
|
166 include/jeffpc/val.h |
137
2943c4b289f1
version: add a jeffpc_version symbol with the hg version info
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
130
diff
changeset
|
167 include/jeffpc/version.h |
63
bd61c4d5d281
cmake: install the config header file properly
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
62
diff
changeset
|
168 ${CMAKE_CURRENT_BINARY_DIR}/include/jeffpc/config.h |
1
d5e68b231e18
atomic: define a type checking atomic ops
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
169 DESTINATION include/jeffpc |
d5e68b231e18
atomic: define a type checking atomic ops
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
170 PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ) |
13
99352ce825b8
tests: add basic infrastructure for ctest-based testing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
10
diff
changeset
|
171 |
137
2943c4b289f1
version: add a jeffpc_version symbol with the hg version info
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
130
diff
changeset
|
172 add_custom_target(revisiontag ALL) |
2943c4b289f1
version: add a jeffpc_version symbol with the hg version info
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
130
diff
changeset
|
173 |
2943c4b289f1
version: add a jeffpc_version symbol with the hg version info
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
130
diff
changeset
|
174 add_custom_command(TARGET revisiontag |
2943c4b289f1
version: add a jeffpc_version symbol with the hg version info
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
130
diff
changeset
|
175 COMMAND ${CMAKE_COMMAND} |
2943c4b289f1
version: add a jeffpc_version symbol with the hg version info
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
130
diff
changeset
|
176 -DSOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR} |
2943c4b289f1
version: add a jeffpc_version symbol with the hg version info
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
130
diff
changeset
|
177 -DBINARY_DIR=${CMAKE_CURRENT_BINARY_DIR} |
188
c71d879e18cd
version: use the version from cmake files if needed
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
187
diff
changeset
|
178 -DJEFFPC_VERSION=v${JEFFPC_VERSION} |
137
2943c4b289f1
version: add a jeffpc_version symbol with the hg version info
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
130
diff
changeset
|
179 -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/hg.cmake |
2943c4b289f1
version: add a jeffpc_version symbol with the hg version info
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
130
diff
changeset
|
180 ) |
2943c4b289f1
version: add a jeffpc_version symbol with the hg version info
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
130
diff
changeset
|
181 |
2943c4b289f1
version: add a jeffpc_version symbol with the hg version info
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
130
diff
changeset
|
182 add_dependencies(jeffpc revisiontag) |
2943c4b289f1
version: add a jeffpc_version symbol with the hg version info
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
130
diff
changeset
|
183 |
15
c8bd88e39c07
sexpr: S-expression parsing and manipulation code
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
14
diff
changeset
|
184 # |
141
08416c57f077
sexpr: implement a simple REPL for the sexpr APIs
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
140
diff
changeset
|
185 # REPL executable |
08416c57f077
sexpr: implement a simple REPL for the sexpr APIs
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
140
diff
changeset
|
186 # |
08416c57f077
sexpr: implement a simple REPL for the sexpr APIs
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
140
diff
changeset
|
187 |
08416c57f077
sexpr: implement a simple REPL for the sexpr APIs
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
140
diff
changeset
|
188 add_executable(sexpr-repl EXCLUDE_FROM_ALL |
08416c57f077
sexpr: implement a simple REPL for the sexpr APIs
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
140
diff
changeset
|
189 repl.c |
08416c57f077
sexpr: implement a simple REPL for the sexpr APIs
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
140
diff
changeset
|
190 ) |
08416c57f077
sexpr: implement a simple REPL for the sexpr APIs
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
140
diff
changeset
|
191 |
08416c57f077
sexpr: implement a simple REPL for the sexpr APIs
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
140
diff
changeset
|
192 target_link_libraries(sexpr-repl |
08416c57f077
sexpr: implement a simple REPL for the sexpr APIs
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
140
diff
changeset
|
193 tecla |
08416c57f077
sexpr: implement a simple REPL for the sexpr APIs
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
140
diff
changeset
|
194 jeffpc |
08416c57f077
sexpr: implement a simple REPL for the sexpr APIs
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
140
diff
changeset
|
195 ) |
08416c57f077
sexpr: implement a simple REPL for the sexpr APIs
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
140
diff
changeset
|
196 |
08416c57f077
sexpr: implement a simple REPL for the sexpr APIs
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
140
diff
changeset
|
197 # |
15
c8bd88e39c07
sexpr: S-expression parsing and manipulation code
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
14
diff
changeset
|
198 # Test related executables |
c8bd88e39c07
sexpr: S-expression parsing and manipulation code
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
14
diff
changeset
|
199 # |
c8bd88e39c07
sexpr: S-expression parsing and manipulation code
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
14
diff
changeset
|
200 |
47
7447b2d42ad7
cmake: move all the test related macros into a separate file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
44
diff
changeset
|
201 build_test_bin(sexpr_parser) |
81
67f676c44e79
types: introduce ARRAY_LEN
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
80
diff
changeset
|
202 build_test_bin_and_run(array) |
84
2dc995298f71
atomic: add single threaded tests to verify basic operation
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
83
diff
changeset
|
203 build_test_bin_and_run(atomic-single-thread) |
83
0fae2209450c
int: add tests for bswap_* functions
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
81
diff
changeset
|
204 build_test_bin_and_run(bswap) |
250
0e4e45813eb9
buffer: introduce a simple growing memory buffer API
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
249
diff
changeset
|
205 build_test_bin_and_run(buffer) |
178
2350f0436f22
types: add container_of
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
141
diff
changeset
|
206 build_test_bin_and_run(container_of) |
234
e4fa504f4538
int: add functions to read unaligned big-endian ints
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
210
diff
changeset
|
207 build_test_bin_and_run(endian) |
249
cef63e0025b5
error: add a basic test for PTR_ERR/ERR_PTR/IS_ERR/ERR_CAST
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
234
diff
changeset
|
208 build_test_bin_and_run(errno) |
80
38272429d302
hexdump: add a test checking both hexdump and hexdumpz
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
79
diff
changeset
|
209 build_test_bin_and_run(hexdump) |
183
25dc3867980d
list: add a rudimentary set of tests
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
182
diff
changeset
|
210 build_test_bin_and_run(list) |
262
89bf89fc814c
nvlist: introduce a name-value list API
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
258
diff
changeset
|
211 build_test_bin_and_run(nvl) |
267
3f9cf57cb431
nvlist: simple test to exercise nvlist packing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
266
diff
changeset
|
212 build_test_bin_and_run(nvl_pack) |
79
449d56767f49
padding: add a function for padding checking
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
65
diff
changeset
|
213 build_test_bin_and_run(padding) |
114
73b4164d2811
sexpr: implement basic expression evaluation
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
104
diff
changeset
|
214 build_test_bin_and_run(sexpr_eval) |
137
2943c4b289f1
version: add a jeffpc_version symbol with the hg version info
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
130
diff
changeset
|
215 build_test_bin_and_run(version) |
15
c8bd88e39c07
sexpr: S-expression parsing and manipulation code
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
14
diff
changeset
|
216 |
13
99352ce825b8
tests: add basic infrastructure for ctest-based testing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
10
diff
changeset
|
217 add_subdirectory(tests) |