Mercurial > irccd
annotate CMakeLists.txt @ 956:5e682f1cebcc
irccd: improve SSL support and add basic whois
author | David Demelier <markand@malikania.fr> |
---|---|
date | Thu, 21 Jan 2021 09:49:42 +0100 |
parents | 9fcb0038fe0a |
children | 8becffd7617a |
rev | line source |
---|---|
948
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 # |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 # CMakeLists.txt -- CMake build for irccd |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 # |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
4 # Copyright (c) 2013-2021 David Demelier <markand@malikania.fr> |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 # |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 # Permission to use, copy, modify, and/or distribute this software for any |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 # purpose with or without fee is hereby granted, provided that the above |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 # copyright notice and this permission notice appear in all copies. |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 # |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
12 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
13 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
16 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
17 # |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
19 cmake_minimum_required(VERSION 3.12) |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
20 project(irccd) |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
21 |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
22 set_property(GLOBAL PROPERTY USE_FOLDERS On) |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
23 |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
24 set(IRCCD_VERSION_MAJOR 4) |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
25 set(IRCCD_VERSION_MINOR 0) |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
26 set(IRCCD_VERSION_PATCH 0) |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
27 |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
28 option(IRCCD_WITH_JS "Enable Javascript" On) |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
29 option(IRCCD_WITH_SSL "Enable SSL support" On) |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
30 option(IRCCD_WITH_IRCCD "Enable irccd daemon" On) |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
31 option(IRCCD_WITH_IRCCDCTL "Enable irccdctl utility" On) |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
32 option(IRCCD_WITH_TESTS "Enable unit tests" Off) |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
33 |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
34 if (CMAKE_C_COMPILER_ID MATCHES "GNU|Clang") |
956
5e682f1cebcc
irccd: improve SSL support and add basic whois
David Demelier <markand@malikania.fr>
parents:
950
diff
changeset
|
35 set(CMAKE_C_FLAGS "-Wall -Wextra ${CMAKE_C_FLAGS}") |
948
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
36 endif () |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
37 |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
38 include(GNUInstallDirs) |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
39 |
950
9fcb0038fe0a
irccd: bring SSL support back
David Demelier <markand@malikania.fr>
parents:
948
diff
changeset
|
40 if (IRCCD_WITH_SSL) |
9fcb0038fe0a
irccd: bring SSL support back
David Demelier <markand@malikania.fr>
parents:
948
diff
changeset
|
41 find_package(OpenSSL REQUIRED) |
9fcb0038fe0a
irccd: bring SSL support back
David Demelier <markand@malikania.fr>
parents:
948
diff
changeset
|
42 endif () |
9fcb0038fe0a
irccd: bring SSL support back
David Demelier <markand@malikania.fr>
parents:
948
diff
changeset
|
43 |
948
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
44 add_subdirectory(extern/libcompat) |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
45 |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
46 if (IRCCD_WITH_JS) |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
47 add_subdirectory(extern/libduktape) |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
48 endif () |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
49 |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
50 add_subdirectory(lib) |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
51 add_subdirectory(irccd) |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
52 add_subdirectory(irccdctl) |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
53 |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
54 if (IRCCD_WITH_TESTS) |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
55 enable_testing() |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
56 add_subdirectory(extern/libgreatest) |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
57 add_subdirectory(tests) |
21a91311c8ea
cmake: switch back, GNU make is painful
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
58 endif () |