Mercurial > code
annotate CMakeLists.txt @ 332:4f282297625b
Merge sockets
author | David Demelier <markand@malikania.fr> |
---|---|
date | Sun, 08 Mar 2015 11:04:15 +0100 |
parents | d52a69f9f029 |
children | 0b576ee64d45 |
rev | line source |
---|---|
219 | 1 # |
2 # CMakeLists.txt -- code building for common code | |
3 # | |
236 | 4 # Copyright (c) 2013, 2014 David Demelier <markand@malikania.fr> |
219 | 5 # |
6 # Permission to use, copy, modify, and/or distribute this software for any | |
7 # purpose with or without fee is hereby granted, provided that the above | |
8 # copyright notice and this permission notice appear in all copies. | |
9 # | |
10 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |
11 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
12 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | |
13 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
14 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
15 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | |
16 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
17 # | |
18 | |
19 # | |
20 # This CMakeLists build system is primarily used for testing all | |
21 # modules. | |
22 # | |
23 cmake_minimum_required(VERSION 2.8.11) | |
24 project(code) | |
25 | |
26 set(CMAKE_MODULE_PATH ${code_SOURCE_DIR}/cmake) | |
27 | |
28 enable_testing() | |
29 | |
30 include_directories( | |
31 ${code_SOURCE_DIR}/C++ | |
32 ) | |
33 | |
236 | 34 # GoogleTest library |
35 add_subdirectory(extern) | |
36 | |
219 | 37 function(define_test name sources) |
236 | 38 # The executable |
219 | 39 add_executable( |
40 ${name} | |
41 ${sources} | |
42 ) | |
43 | |
249
3b4ae8feca1c
Switch to GoogleTest finished #285
David Demelier <markand@malikania.fr>
parents:
242
diff
changeset
|
44 target_link_libraries(${name} gtest) |
219 | 45 add_test(${name}-test ${name}) |
46 endfunction() | |
47 | |
242 | 48 option(WITH_BASE64 "Enable base64 tests" On) |
219 | 49 option(WITH_CONVERTER "Enable converter tests" On) |
50 option(WITH_DIRECTORY "Enable directory tests" On) | |
51 option(WITH_DRIVER "Enable SQL drivers tests" On) | |
52 option(WITH_DYNLIB "Enable DynLib tests" On) | |
261
0c7bc55e0d36
Add Flags, a small wrapper for creating enum flags
David Demelier <markand@malikania.fr>
parents:
258
diff
changeset
|
53 option(WITH_FLAGS "Enable Flags tests" On) |
219 | 54 option(WITH_HASH "Enable hash functions tests" On) |
325
d52a69f9f029
Add Ini, brand new replacement for Parser
David Demelier <markand@malikania.fr>
parents:
311
diff
changeset
|
55 option(WITH_INI "Enable .ini parser" On) |
311 | 56 option(WITH_JSON "Enable Jansson wrapper tests" On) |
236 | 57 option(WITH_OPTIONPARSER "Enable option parser tests" On) |
219 | 58 option(WITH_PACK "Enable pack functions" On) |
325
d52a69f9f029
Add Ini, brand new replacement for Parser
David Demelier <markand@malikania.fr>
parents:
311
diff
changeset
|
59 option(WITH_PARSER "Enable parser tests (deprecated)" On) |
258 | 60 option(WITH_SOCKETS "Enable sockets tests" On) |
251 | 61 option(WITH_TREENODE "Enable treenode tests" On) |
219 | 62 option(WITH_UTF8 "Enable Utf8 functions tests" On) |
281
88f9d8b406c6
Add Zip, safe wrapper around libzip
David Demelier <markand@malikania.fr>
parents:
265
diff
changeset
|
63 option(WITH_ZIP "Enable ZipArchive tests" On) |
249
3b4ae8feca1c
Switch to GoogleTest finished #285
David Demelier <markand@malikania.fr>
parents:
242
diff
changeset
|
64 |
3b4ae8feca1c
Switch to GoogleTest finished #285
David Demelier <markand@malikania.fr>
parents:
242
diff
changeset
|
65 if (UNIX) |
3b4ae8feca1c
Switch to GoogleTest finished #285
David Demelier <markand@malikania.fr>
parents:
242
diff
changeset
|
66 option(WITH_XDG "Enable XDG standard directories tests" On) |
3b4ae8feca1c
Switch to GoogleTest finished #285
David Demelier <markand@malikania.fr>
parents:
242
diff
changeset
|
67 endif () |
219 | 68 |
242 | 69 if (WITH_BASE64) |
70 add_subdirectory(C++/Tests/Base64) | |
71 endif () | |
72 | |
222
5a99711d52f9
Directory: add unit tests
David Demelier <markand@malikania.fr>
parents:
221
diff
changeset
|
73 if (WITH_DIRECTORY) |
5a99711d52f9
Directory: add unit tests
David Demelier <markand@malikania.fr>
parents:
221
diff
changeset
|
74 add_subdirectory(C++/Tests/Directory) |
5a99711d52f9
Directory: add unit tests
David Demelier <markand@malikania.fr>
parents:
221
diff
changeset
|
75 endif () |
5a99711d52f9
Directory: add unit tests
David Demelier <markand@malikania.fr>
parents:
221
diff
changeset
|
76 |
219 | 77 if (WITH_DYNLIB) |
78 add_subdirectory(C++/Tests/DynLib) | |
79 endif () | |
80 | |
261
0c7bc55e0d36
Add Flags, a small wrapper for creating enum flags
David Demelier <markand@malikania.fr>
parents:
258
diff
changeset
|
81 if (WITH_FLAGS) |
0c7bc55e0d36
Add Flags, a small wrapper for creating enum flags
David Demelier <markand@malikania.fr>
parents:
258
diff
changeset
|
82 add_subdirectory(C++/Tests/Flags) |
0c7bc55e0d36
Add Flags, a small wrapper for creating enum flags
David Demelier <markand@malikania.fr>
parents:
258
diff
changeset
|
83 endif () |
0c7bc55e0d36
Add Flags, a small wrapper for creating enum flags
David Demelier <markand@malikania.fr>
parents:
258
diff
changeset
|
84 |
221 | 85 if (WITH_HASH) |
86 add_subdirectory(C++/Tests/Hash) | |
87 endif () | |
223 | 88 |
311 | 89 if (WITH_JSON) |
90 add_subdirectory(C++/Tests/Json) | |
91 endif () | |
92 | |
325
d52a69f9f029
Add Ini, brand new replacement for Parser
David Demelier <markand@malikania.fr>
parents:
311
diff
changeset
|
93 if (WITH_INI) |
d52a69f9f029
Add Ini, brand new replacement for Parser
David Demelier <markand@malikania.fr>
parents:
311
diff
changeset
|
94 add_subdirectory(C++/Tests/Ini) |
d52a69f9f029
Add Ini, brand new replacement for Parser
David Demelier <markand@malikania.fr>
parents:
311
diff
changeset
|
95 endif () |
d52a69f9f029
Add Ini, brand new replacement for Parser
David Demelier <markand@malikania.fr>
parents:
311
diff
changeset
|
96 |
236 | 97 if (WITH_OPTIONPARSER) |
98 add_subdirectory(C++/Tests/OptionParser) | |
99 endif () | |
100 | |
223 | 101 if (WITH_PACK) |
102 add_subdirectory(C++/Tests/Pack) | |
103 endif () | |
224
ca69910b1407
Parser: add tests (and fix #270)
David Demelier <markand@malikania.fr>
parents:
223
diff
changeset
|
104 |
ca69910b1407
Parser: add tests (and fix #270)
David Demelier <markand@malikania.fr>
parents:
223
diff
changeset
|
105 if (WITH_PARSER) |
ca69910b1407
Parser: add tests (and fix #270)
David Demelier <markand@malikania.fr>
parents:
223
diff
changeset
|
106 add_subdirectory(C++/Tests/Parser) |
236 | 107 endif () |
240
f6d9fdb5eeeb
Xdg: don't use bad directories, add tests
David Demelier <markand@malikania.fr>
parents:
236
diff
changeset
|
108 |
258 | 109 if (WITH_SOCKETS) |
110 add_subdirectory(C++/Tests/Sockets) | |
111 endif () | |
112 | |
251 | 113 if (WITH_TREENODE) |
114 add_subdirectory(C++/Tests/TreeNode) | |
115 endif () | |
116 | |
307 | 117 if (WITH_UTF8) |
118 add_subdirectory(C++/Tests/Utf8) | |
119 endif () | |
120 | |
249
3b4ae8feca1c
Switch to GoogleTest finished #285
David Demelier <markand@malikania.fr>
parents:
242
diff
changeset
|
121 if (WITH_XDG AND UNIX) |
240
f6d9fdb5eeeb
Xdg: don't use bad directories, add tests
David Demelier <markand@malikania.fr>
parents:
236
diff
changeset
|
122 add_subdirectory(C++/Tests/Xdg) |
f6d9fdb5eeeb
Xdg: don't use bad directories, add tests
David Demelier <markand@malikania.fr>
parents:
236
diff
changeset
|
123 endif () |
281
88f9d8b406c6
Add Zip, safe wrapper around libzip
David Demelier <markand@malikania.fr>
parents:
265
diff
changeset
|
124 |
88f9d8b406c6
Add Zip, safe wrapper around libzip
David Demelier <markand@malikania.fr>
parents:
265
diff
changeset
|
125 if (WITH_ZIP) |
88f9d8b406c6
Add Zip, safe wrapper around libzip
David Demelier <markand@malikania.fr>
parents:
265
diff
changeset
|
126 add_subdirectory(C++/Tests/Zip) |
88f9d8b406c6
Add Zip, safe wrapper around libzip
David Demelier <markand@malikania.fr>
parents:
265
diff
changeset
|
127 endif () |