Mercurial > libjeffpc
annotate CMakeLists.txt @ 578:70a9f24b35d4
build: find & use the correct library containing accept(2)
This really is about checking the presence of libsocket.
Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
author | Josef 'Jeff' Sipek <jeffpc@josefsipek.net> |
---|---|
date | Tue, 16 Oct 2018 21:02:26 -0400 |
parents | d964f88ef555 |
children | bc6f5a293691 |
rev | line source |
---|---|
0
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
1 # |
423 | 2 # Copyright (c) 2016-2018 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 |
560 | 26 set(JEFFPC_VERSION 0.17) |
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 |
575
897df8a90467
build: build as POSIX 2008 source
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
569
diff
changeset
|
33 -D_POSIX_C_SOURCE=200809L |
95
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 |
335
c36996c2fd04
cmake: enable warnings about initializer overrides
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
310
diff
changeset
|
39 -Woverride-init |
0
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
40 -O2 |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
41 -g |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
42 -std=gnu99 |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
43 -fno-omit-frame-pointer |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
44 $<$<C_COMPILER_ID:gcc>:-fno-inline-small-functions> |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
45 $<$<C_COMPILER_ID:gcc>:-fno-inline-functions-called-once> |
ad8577f2345a
Basic cmake file & ignore file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
diff
changeset
|
46 ) |
1
d5e68b231e18
atomic: define a type checking atomic ops
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
47 |
25
3cb979d08023
config: support for build-time feature checks
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
24
diff
changeset
|
48 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
|
49 |
3cb979d08023
config: support for build-time feature checks
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
24
diff
changeset
|
50 include(cmake/config.cmake) |
23
f7acc20835d4
cmake support for mapfiles
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
19
diff
changeset
|
51 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
|
52 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
|
53 include(cmake/paths.cmake) |
23
f7acc20835d4
cmake support for mapfiles
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
19
diff
changeset
|
54 |
38
90f182a38741
fakeumem: include internal fall-back to missing libumem
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
34
diff
changeset
|
55 # handle missing libumem |
90f182a38741
fakeumem: include internal fall-back to missing libumem
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
34
diff
changeset
|
56 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
|
57 set(UMEM_LIBRARY "") |
2f75aad47c2e
cmake: set UMEM_{LIBRARY,INCLUDE_DIR} to the empty string
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
204
diff
changeset
|
58 set(UMEM_INCLUDE_DIR "") |
140
aa39202a5963
mem: add a slab allocator API
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
137
diff
changeset
|
59 set(UMEM_EXTRA_SOURCE) |
38
90f182a38741
fakeumem: include internal fall-back to missing libumem
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
34
diff
changeset
|
60 else() |
140
aa39202a5963
mem: add a slab allocator API
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
137
diff
changeset
|
61 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
|
62 endif() |
90f182a38741
fakeumem: include internal fall-back to missing libumem
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
34
diff
changeset
|
63 |
15
c8bd88e39c07
sexpr: S-expression parsing and manipulation code
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
14
diff
changeset
|
64 find_package(BISON) |
c8bd88e39c07
sexpr: S-expression parsing and manipulation code
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
14
diff
changeset
|
65 find_package(FLEX) |
c8bd88e39c07
sexpr: S-expression parsing and manipulation code
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
14
diff
changeset
|
66 |
4
49bec073c6e4
error: define assertion macros and a syslogging mechanism
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
2
diff
changeset
|
67 include_directories( |
49bec073c6e4
error: define assertion macros and a syslogging mechanism
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
2
diff
changeset
|
68 include |
38
90f182a38741
fakeumem: include internal fall-back to missing libumem
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
34
diff
changeset
|
69 ${UMEM_INCLUDE_DIR} |
4
49bec073c6e4
error: define assertion macros and a syslogging mechanism
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
2
diff
changeset
|
70 ) |
49bec073c6e4
error: define assertion macros and a syslogging mechanism
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
2
diff
changeset
|
71 |
62
97874539130d
cmake: #include "foo.h" should check the source directory as well
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
61
diff
changeset
|
72 # 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
|
73 add_compile_options( |
179
bed61aae209f
build: -iquote the current binary dir
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
178
diff
changeset
|
74 -iquote${CMAKE_CURRENT_SOURCE_DIR} |
bed61aae209f
build: -iquote the current binary dir
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
178
diff
changeset
|
75 -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
|
76 ) |
97874539130d
cmake: #include "foo.h" should check the source directory as well
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
61
diff
changeset
|
77 |
61
49acba50f6fc
cmake: output generated bison and flex files in the binary dir
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
49
diff
changeset
|
78 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
|
79 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
|
80 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
|
81 COMPILE_FLAGS "-P sexpr_reader_") |
15
c8bd88e39c07
sexpr: S-expression parsing and manipulation code
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
14
diff
changeset
|
82 ADD_FLEX_BISON_DEPENDENCY(sexpr sexpr) |
c8bd88e39c07
sexpr: S-expression parsing and manipulation code
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
14
diff
changeset
|
83 |
4
49bec073c6e4
error: define assertion macros and a syslogging mechanism
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
2
diff
changeset
|
84 add_library(jeffpc SHARED |
204
910021f14024
array: a resizable C array
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
199
diff
changeset
|
85 array.c |
407
3562218129d7
bst: basic (unbalanced) binary search tree
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
397
diff
changeset
|
86 bst.c |
250
0e4e45813eb9
buffer: introduce a simple growing memory buffer API
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
249
diff
changeset
|
87 buffer.c |
256
f82b45b662c9
buffer: use an ops vector to customize buffer behavior
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
250
diff
changeset
|
88 buffer_heap.c |
f82b45b662c9
buffer: use an ops vector to customize buffer behavior
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
250
diff
changeset
|
89 buffer_sink.c |
562
584def85123e
buffer: introduce a static read-write buffer type
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
560
diff
changeset
|
90 buffer_static.c |
442
0d09c7592828
buffer: introduce a stdio buffer type
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
438
diff
changeset
|
91 buffer_stdio.c |
207
103260f6b99c
cstr: add strcpy_safe
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
205
diff
changeset
|
92 cstr.c |
4
49bec073c6e4
error: define assertion macros and a syslogging mechanism
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
2
diff
changeset
|
93 error.c |
401
f2670f17e988
introduce cbor encoding API
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
397
diff
changeset
|
94 fmt_cbor.c |
44
905e9ad459a0
hexdump: hexdump a buffer with or without a trailing \0
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
43
diff
changeset
|
95 hexdump.c |
19
017a4abcfe3d
init: add a single initialize-the-library function
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
15
diff
changeset
|
96 init.c |
14
33b45c955db2
io: safe file reading & writing functions
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
13
diff
changeset
|
97 io.c |
182
a24cc2a751fc
list: implement illumos-style linked list
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
181
diff
changeset
|
98 list.c |
430
df53edaf06a4
mem: add mem_re{,c}allocarray() to improve portability
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
423
diff
changeset
|
99 mem_array.c |
262
89bf89fc814c
nvlist: introduce a name-value list API
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
258
diff
changeset
|
100 nvl.c |
274
c35b1f62bcac
nvlist: value type conversion code
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
273
diff
changeset
|
101 nvl_convert.c |
79
449d56767f49
padding: add a function for padding checking
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
65
diff
changeset
|
102 padding.c |
298
289a8ac515f2
qstring: turn a encoded query string into a nvlist entries
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
296
diff
changeset
|
103 qstring.c |
32
118d3438c86b
rand: introduce random number generation
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
29
diff
changeset
|
104 rand.c |
507
4cb72cb51d62
rbtree: basic red-black binary search tree
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
497
diff
changeset
|
105 rbtree.c |
500
8de8fcdac60e
move everything from libjeffpc-comm into libjeffpc
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
497
diff
changeset
|
106 scgisvc.c |
15
c8bd88e39c07
sexpr: S-expression parsing and manipulation code
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
14
diff
changeset
|
107 sexpr.c |
371
3e5ce96011f4
sexpr: move dump code into separate source file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
362
diff
changeset
|
108 sexpr_dump.c |
114
73b4164d2811
sexpr: implement basic expression evaluation
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
104
diff
changeset
|
109 sexpr_eval.c |
15
c8bd88e39c07
sexpr: S-expression parsing and manipulation code
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
14
diff
changeset
|
110 ${FLEX_sexpr_OUTPUTS} ${BISON_sexpr_OUTPUTS} |
140
aa39202a5963
mem: add a slab allocator API
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
137
diff
changeset
|
111 slab.c |
88
7cbfcbcc3580
sock: make it easy to make client TCP/IP connections
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
84
diff
changeset
|
112 sock.c |
500
8de8fcdac60e
move everything from libjeffpc-comm into libjeffpc
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
497
diff
changeset
|
113 socksvc.c |
6
4317d47b267f
str: a reference counted string
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
4
diff
changeset
|
114 str.c |
103
021cf8b91cb3
synch: use functions instead of macros for pthread wrappers
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
95
diff
changeset
|
115 synch.c |
130
9a156f1dcd0e
taskq: implement a simple fixed-size thread pool
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
114
diff
changeset
|
116 taskq.c |
407
3562218129d7
bst: basic (unbalanced) binary search tree
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
397
diff
changeset
|
117 tree.c |
296
1f6ae020116d
urldecode: decode url-encoded strings
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
292
diff
changeset
|
118 urldecode.c |
447
44fd3fc3c5a1
unicode: add a UTF-8 codepoint to UTF-32 codepoint convertor
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
430
diff
changeset
|
119 unicode.c |
42
13e339c56f8a
uuid: implement UUID {generate,compare,clear}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
38
diff
changeset
|
120 uuid.c |
8
083d11258db6
val: a generic typed value structure
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
6
diff
changeset
|
121 val.c |
463
8f455913bfd0
val: introduce VT_ARRAY
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
449
diff
changeset
|
122 val_array.c |
470
21c09afa0b4f
val: move dumping code into a separate file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
465
diff
changeset
|
123 val_dump.c |
465
c4ac06c3ee4a
val: move nvl packing code to live closer to val code
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
464
diff
changeset
|
124 val_fmt_cbor.c |
c4ac06c3ee4a
val: move nvl packing code to live closer to val code
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
464
diff
changeset
|
125 val_fmt_json.c |
464
b1e4c7607050
val: introduce VT_NVL
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
463
diff
changeset
|
126 val_nvl.c |
465
c4ac06c3ee4a
val: move nvl packing code to live closer to val code
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
464
diff
changeset
|
127 val_pack.c |
c4ac06c3ee4a
val: move nvl packing code to live closer to val code
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
464
diff
changeset
|
128 val_unpack.c |
137
2943c4b289f1
version: add a jeffpc_version symbol with the hg version info
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
130
diff
changeset
|
129 version.c |
38
90f182a38741
fakeumem: include internal fall-back to missing libumem
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
34
diff
changeset
|
130 ${UMEM_EXTRA_SOURCE} |
6
4317d47b267f
str: a reference counted string
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
4
diff
changeset
|
131 ) |
4317d47b267f
str: a reference counted string
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
4
diff
changeset
|
132 |
4317d47b267f
str: a reference counted string
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
4
diff
changeset
|
133 target_link_libraries(jeffpc |
26
20bf88cb42eb
config: check for presence of libumem
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
25
diff
changeset
|
134 ${UMEM_LIBRARY} |
578
70a9f24b35d4
build: find & use the correct library containing accept(2)
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
577
diff
changeset
|
135 ${SOCKET_LIBRARY} |
577
d964f88ef555
build: find & use the correct library containing xdr_opaque
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
575
diff
changeset
|
136 ${XDR_LIBRARY} |
104
b1b1531f60d4
link against libpthread
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
103
diff
changeset
|
137 pthread |
4
49bec073c6e4
error: define assertion macros and a syslogging mechanism
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
2
diff
changeset
|
138 ) |
49bec073c6e4
error: define assertion macros and a syslogging mechanism
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
2
diff
changeset
|
139 |
500
8de8fcdac60e
move everything from libjeffpc-comm into libjeffpc
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
497
diff
changeset
|
140 target_apply_mapfile(jeffpc mapfile-vers) |
24
678c6a03bfa9
apply a version mapfile to the produced shared object
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
23
diff
changeset
|
141 |
290
f09190e05813
cmake: install libjeffpc-comm.so
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
289
diff
changeset
|
142 install(TARGETS jeffpc |
f09190e05813
cmake: install libjeffpc-comm.so
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
289
diff
changeset
|
143 DESTINATION ${CMAKE_INSTALL_LIBDIR} |
4
49bec073c6e4
error: define assertion macros and a syslogging mechanism
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
2
diff
changeset
|
144 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
|
145 install(FILES include/jeffpc/atomic.h |
407
3562218129d7
bst: basic (unbalanced) binary search tree
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
397
diff
changeset
|
146 include/jeffpc/bst.h |
250
0e4e45813eb9
buffer: introduce a simple growing memory buffer API
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
249
diff
changeset
|
147 include/jeffpc/buffer.h |
513
07529664c78c
synch: add a config header with just the synchronization related items
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
483
diff
changeset
|
148 include/jeffpc/config-synch.h |
207
103260f6b99c
cstr: add strcpy_safe
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
205
diff
changeset
|
149 include/jeffpc/cstr.h |
4
49bec073c6e4
error: define assertion macros and a syslogging mechanism
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
2
diff
changeset
|
150 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
|
151 include/jeffpc/hexdump.h |
10
9c2519c32502
int: string to integer conversion routines
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
8
diff
changeset
|
152 include/jeffpc/int.h |
14
33b45c955db2
io: safe file reading & writing functions
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
13
diff
changeset
|
153 include/jeffpc/io.h |
19
017a4abcfe3d
init: add a single initialize-the-library function
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
15
diff
changeset
|
154 include/jeffpc/jeffpc.h |
181
df388ec51431
list: implement linux kernel-style linked list
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
179
diff
changeset
|
155 include/jeffpc/list.h |
140
aa39202a5963
mem: add a slab allocator API
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
137
diff
changeset
|
156 include/jeffpc/mem.h |
569
1eac5e3f7a3b
mmap: mmap and munmap wrappers
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
563
diff
changeset
|
157 include/jeffpc/mmap.h |
262
89bf89fc814c
nvlist: introduce a name-value list API
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
258
diff
changeset
|
158 include/jeffpc/nvl.h |
79
449d56767f49
padding: add a function for padding checking
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
65
diff
changeset
|
159 include/jeffpc/padding.h |
298
289a8ac515f2
qstring: turn a encoded query string into a nvlist entries
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
296
diff
changeset
|
160 include/jeffpc/qstring.h |
32
118d3438c86b
rand: introduce random number generation
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
29
diff
changeset
|
161 include/jeffpc/rand.h |
507
4cb72cb51d62
rbtree: basic red-black binary search tree
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
497
diff
changeset
|
162 include/jeffpc/rbtree.h |
2
1ef6d9d92cfa
refcnt: define a generic ref count type & macros
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
1
diff
changeset
|
163 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
|
164 include/jeffpc/scgi.h |
289
9a980c50a132
cmake: install scgisvc.h
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
286
diff
changeset
|
165 include/jeffpc/scgisvc.h |
15
c8bd88e39c07
sexpr: S-expression parsing and manipulation code
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
14
diff
changeset
|
166 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
|
167 include/jeffpc/sock.h |
282
4b52ab9eb514
socksvc: simple socket service
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
281
diff
changeset
|
168 include/jeffpc/socksvc.h |
6
4317d47b267f
str: a reference counted string
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
4
diff
changeset
|
169 include/jeffpc/str.h |
65
a3bd464bf68f
cmake: install synch.h
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
64
diff
changeset
|
170 include/jeffpc/synch.h |
130
9a156f1dcd0e
taskq: implement a simple fixed-size thread pool
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
114
diff
changeset
|
171 include/jeffpc/taskq.h |
33
7fb711200ed7
thread: wrap pthread_{create,join,self}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
32
diff
changeset
|
172 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
|
173 include/jeffpc/time.h |
407
3562218129d7
bst: basic (unbalanced) binary search tree
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
397
diff
changeset
|
174 include/jeffpc/tree_private.h |
81
67f676c44e79
types: introduce ARRAY_LEN
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
80
diff
changeset
|
175 include/jeffpc/types.h |
296
1f6ae020116d
urldecode: decode url-encoded strings
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
292
diff
changeset
|
176 include/jeffpc/urldecode.h |
447
44fd3fc3c5a1
unicode: add a UTF-8 codepoint to UTF-32 codepoint convertor
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
430
diff
changeset
|
177 include/jeffpc/unicode.h |
42
13e339c56f8a
uuid: implement UUID {generate,compare,clear}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
38
diff
changeset
|
178 include/jeffpc/uuid.h |
8
083d11258db6
val: a generic typed value structure
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
6
diff
changeset
|
179 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
|
180 include/jeffpc/version.h |
63
bd61c4d5d281
cmake: install the config header file properly
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
62
diff
changeset
|
181 ${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
|
182 DESTINATION include/jeffpc |
d5e68b231e18
atomic: define a type checking atomic ops
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
183 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
|
184 |
137
2943c4b289f1
version: add a jeffpc_version symbol with the hg version info
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
130
diff
changeset
|
185 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
|
186 |
2943c4b289f1
version: add a jeffpc_version symbol with the hg version info
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
130
diff
changeset
|
187 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
|
188 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
|
189 -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
|
190 -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
|
191 -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
|
192 -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
|
193 ) |
2943c4b289f1
version: add a jeffpc_version symbol with the hg version info
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
130
diff
changeset
|
194 |
2943c4b289f1
version: add a jeffpc_version symbol with the hg version info
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
130
diff
changeset
|
195 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
|
196 |
15
c8bd88e39c07
sexpr: S-expression parsing and manipulation code
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
14
diff
changeset
|
197 # |
141
08416c57f077
sexpr: implement a simple REPL for the sexpr APIs
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
140
diff
changeset
|
198 # REPL executable |
08416c57f077
sexpr: implement a simple REPL for the sexpr APIs
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
140
diff
changeset
|
199 # |
08416c57f077
sexpr: implement a simple REPL for the sexpr APIs
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
140
diff
changeset
|
200 |
08416c57f077
sexpr: implement a simple REPL for the sexpr APIs
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
140
diff
changeset
|
201 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
|
202 repl.c |
08416c57f077
sexpr: implement a simple REPL for the sexpr APIs
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
140
diff
changeset
|
203 ) |
08416c57f077
sexpr: implement a simple REPL for the sexpr APIs
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
140
diff
changeset
|
204 |
08416c57f077
sexpr: implement a simple REPL for the sexpr APIs
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
140
diff
changeset
|
205 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
|
206 tecla |
08416c57f077
sexpr: implement a simple REPL for the sexpr APIs
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
140
diff
changeset
|
207 jeffpc |
08416c57f077
sexpr: implement a simple REPL for the sexpr APIs
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
140
diff
changeset
|
208 ) |
08416c57f077
sexpr: implement a simple REPL for the sexpr APIs
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
140
diff
changeset
|
209 |
13
99352ce825b8
tests: add basic infrastructure for ctest-based testing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
10
diff
changeset
|
210 add_subdirectory(tests) |