Mercurial > libjeffpc
annotate CMakeLists.txt @ 204:910021f14024
array: a resizable C array
Often enough we need a dynamically growing array that we can just index
into. Instead of open-coding the same kind of realloc array over and over,
we can generalize it and provide an easy to use API.
Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
author | Josef 'Jeff' Sipek <jeffpc@josefsipek.net> |
---|---|
date | Sun, 16 Apr 2017 22:00:48 -0400 |
parents | 53fd6f9605de |
children | 2f75aad47c2e |
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 |
199 | 26 set(JEFFPC_VERSION 0.10) |
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) |
140
aa39202a5963
mem: add a slab allocator API
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
137
diff
changeset
|
56 set(UMEM_LIBRARY) |
aa39202a5963
mem: add a slab allocator API
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
137
diff
changeset
|
57 set(UMEM_INCLUDE_DIR) |
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 |
4
49bec073c6e4
error: define assertion macros and a syslogging mechanism
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
2
diff
changeset
|
85 error.c |
44
905e9ad459a0
hexdump: hexdump a buffer with or without a trailing \0
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
43
diff
changeset
|
86 hexdump.c |
19
017a4abcfe3d
init: add a single initialize-the-library function
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
15
diff
changeset
|
87 init.c |
14
33b45c955db2
io: safe file reading & writing functions
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
13
diff
changeset
|
88 io.c |
182
a24cc2a751fc
list: implement illumos-style linked list
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
181
diff
changeset
|
89 list.c |
79
449d56767f49
padding: add a function for padding checking
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
65
diff
changeset
|
90 padding.c |
32
118d3438c86b
rand: introduce random number generation
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
29
diff
changeset
|
91 rand.c |
15
c8bd88e39c07
sexpr: S-expression parsing and manipulation code
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
14
diff
changeset
|
92 sexpr.c |
114
73b4164d2811
sexpr: implement basic expression evaluation
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
104
diff
changeset
|
93 sexpr_eval.c |
15
c8bd88e39c07
sexpr: S-expression parsing and manipulation code
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
14
diff
changeset
|
94 ${FLEX_sexpr_OUTPUTS} ${BISON_sexpr_OUTPUTS} |
140
aa39202a5963
mem: add a slab allocator API
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
137
diff
changeset
|
95 slab.c |
88
7cbfcbcc3580
sock: make it easy to make client TCP/IP connections
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
84
diff
changeset
|
96 sock.c |
6
4317d47b267f
str: a reference counted string
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
4
diff
changeset
|
97 str.c |
103
021cf8b91cb3
synch: use functions instead of macros for pthread wrappers
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
95
diff
changeset
|
98 synch.c |
130
9a156f1dcd0e
taskq: implement a simple fixed-size thread pool
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
114
diff
changeset
|
99 taskq.c |
42
13e339c56f8a
uuid: implement UUID {generate,compare,clear}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
38
diff
changeset
|
100 uuid.c |
8
083d11258db6
val: a generic typed value structure
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
6
diff
changeset
|
101 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
|
102 version.c |
38
90f182a38741
fakeumem: include internal fall-back to missing libumem
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
34
diff
changeset
|
103 ${UMEM_EXTRA_SOURCE} |
6
4317d47b267f
str: a reference counted string
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
4
diff
changeset
|
104 ) |
4317d47b267f
str: a reference counted string
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
4
diff
changeset
|
105 |
4317d47b267f
str: a reference counted string
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
4
diff
changeset
|
106 target_link_libraries(jeffpc |
26
20bf88cb42eb
config: check for presence of libumem
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
25
diff
changeset
|
107 ${UMEM_LIBRARY} |
104
b1b1531f60d4
link against libpthread
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
103
diff
changeset
|
108 pthread |
42
13e339c56f8a
uuid: implement UUID {generate,compare,clear}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
38
diff
changeset
|
109 uuid |
4
49bec073c6e4
error: define assertion macros and a syslogging mechanism
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
2
diff
changeset
|
110 ) |
49bec073c6e4
error: define assertion macros and a syslogging mechanism
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
2
diff
changeset
|
111 |
24
678c6a03bfa9
apply a version mapfile to the produced shared object
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
23
diff
changeset
|
112 target_apply_mapfile(jeffpc mapfile-vers) |
678c6a03bfa9
apply a version mapfile to the produced shared object
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
23
diff
changeset
|
113 |
64
a0728e64316c
cmake: let the user specify the location of the library
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
63
diff
changeset
|
114 install(TARGETS jeffpc DESTINATION ${CMAKE_INSTALL_LIBDIR} |
4
49bec073c6e4
error: define assertion macros and a syslogging mechanism
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
2
diff
changeset
|
115 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
|
116 install(FILES include/jeffpc/atomic.h |
4
49bec073c6e4
error: define assertion macros and a syslogging mechanism
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
2
diff
changeset
|
117 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
|
118 include/jeffpc/hexdump.h |
10
9c2519c32502
int: string to integer conversion routines
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
8
diff
changeset
|
119 include/jeffpc/int.h |
14
33b45c955db2
io: safe file reading & writing functions
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
13
diff
changeset
|
120 include/jeffpc/io.h |
19
017a4abcfe3d
init: add a single initialize-the-library function
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
15
diff
changeset
|
121 include/jeffpc/jeffpc.h |
181
df388ec51431
list: implement linux kernel-style linked list
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
179
diff
changeset
|
122 include/jeffpc/list.h |
140
aa39202a5963
mem: add a slab allocator API
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
137
diff
changeset
|
123 include/jeffpc/mem.h |
79
449d56767f49
padding: add a function for padding checking
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
65
diff
changeset
|
124 include/jeffpc/padding.h |
32
118d3438c86b
rand: introduce random number generation
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
29
diff
changeset
|
125 include/jeffpc/rand.h |
2
1ef6d9d92cfa
refcnt: define a generic ref count type & macros
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
1
diff
changeset
|
126 include/jeffpc/refcnt.h |
15
c8bd88e39c07
sexpr: S-expression parsing and manipulation code
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
14
diff
changeset
|
127 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
|
128 include/jeffpc/sock.h |
6
4317d47b267f
str: a reference counted string
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
4
diff
changeset
|
129 include/jeffpc/str.h |
65
a3bd464bf68f
cmake: install synch.h
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
64
diff
changeset
|
130 include/jeffpc/synch.h |
130
9a156f1dcd0e
taskq: implement a simple fixed-size thread pool
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
114
diff
changeset
|
131 include/jeffpc/taskq.h |
33
7fb711200ed7
thread: wrap pthread_{create,join,self}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
32
diff
changeset
|
132 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
|
133 include/jeffpc/time.h |
81
67f676c44e79
types: introduce ARRAY_LEN
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
80
diff
changeset
|
134 include/jeffpc/types.h |
42
13e339c56f8a
uuid: implement UUID {generate,compare,clear}
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
38
diff
changeset
|
135 include/jeffpc/uuid.h |
8
083d11258db6
val: a generic typed value structure
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
6
diff
changeset
|
136 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
|
137 include/jeffpc/version.h |
63
bd61c4d5d281
cmake: install the config header file properly
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
62
diff
changeset
|
138 ${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
|
139 DESTINATION include/jeffpc |
d5e68b231e18
atomic: define a type checking atomic ops
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
0
diff
changeset
|
140 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
|
141 |
137
2943c4b289f1
version: add a jeffpc_version symbol with the hg version info
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
130
diff
changeset
|
142 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
|
143 |
2943c4b289f1
version: add a jeffpc_version symbol with the hg version info
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
130
diff
changeset
|
144 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
|
145 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
|
146 -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
|
147 -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
|
148 -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
|
149 -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
|
150 ) |
2943c4b289f1
version: add a jeffpc_version symbol with the hg version info
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
130
diff
changeset
|
151 |
2943c4b289f1
version: add a jeffpc_version symbol with the hg version info
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
130
diff
changeset
|
152 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
|
153 |
15
c8bd88e39c07
sexpr: S-expression parsing and manipulation code
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
14
diff
changeset
|
154 # |
141
08416c57f077
sexpr: implement a simple REPL for the sexpr APIs
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
140
diff
changeset
|
155 # REPL executable |
08416c57f077
sexpr: implement a simple REPL for the sexpr APIs
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
140
diff
changeset
|
156 # |
08416c57f077
sexpr: implement a simple REPL for the sexpr APIs
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
140
diff
changeset
|
157 |
08416c57f077
sexpr: implement a simple REPL for the sexpr APIs
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
140
diff
changeset
|
158 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
|
159 repl.c |
08416c57f077
sexpr: implement a simple REPL for the sexpr APIs
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
140
diff
changeset
|
160 ) |
08416c57f077
sexpr: implement a simple REPL for the sexpr APIs
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
140
diff
changeset
|
161 |
08416c57f077
sexpr: implement a simple REPL for the sexpr APIs
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
140
diff
changeset
|
162 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
|
163 tecla |
08416c57f077
sexpr: implement a simple REPL for the sexpr APIs
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
140
diff
changeset
|
164 jeffpc |
08416c57f077
sexpr: implement a simple REPL for the sexpr APIs
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
140
diff
changeset
|
165 ) |
08416c57f077
sexpr: implement a simple REPL for the sexpr APIs
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
140
diff
changeset
|
166 |
08416c57f077
sexpr: implement a simple REPL for the sexpr APIs
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
140
diff
changeset
|
167 # |
15
c8bd88e39c07
sexpr: S-expression parsing and manipulation code
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
14
diff
changeset
|
168 # Test related executables |
c8bd88e39c07
sexpr: S-expression parsing and manipulation code
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
14
diff
changeset
|
169 # |
c8bd88e39c07
sexpr: S-expression parsing and manipulation code
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
14
diff
changeset
|
170 |
47
7447b2d42ad7
cmake: move all the test related macros into a separate file
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
44
diff
changeset
|
171 build_test_bin(sexpr_parser) |
81
67f676c44e79
types: introduce ARRAY_LEN
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
80
diff
changeset
|
172 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
|
173 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
|
174 build_test_bin_and_run(bswap) |
178
2350f0436f22
types: add container_of
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
141
diff
changeset
|
175 build_test_bin_and_run(container_of) |
80
38272429d302
hexdump: add a test checking both hexdump and hexdumpz
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
79
diff
changeset
|
176 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
|
177 build_test_bin_and_run(list) |
79
449d56767f49
padding: add a function for padding checking
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
65
diff
changeset
|
178 build_test_bin_and_run(padding) |
114
73b4164d2811
sexpr: implement basic expression evaluation
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
104
diff
changeset
|
179 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
|
180 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
|
181 |
13
99352ce825b8
tests: add basic infrastructure for ctest-based testing
Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
parents:
10
diff
changeset
|
182 add_subdirectory(tests) |