comparison lib/CMakeLists.txt @ 948:21a91311c8ea

cmake: switch back, GNU make is painful
author David Demelier <markand@malikania.fr>
date Sat, 16 Jan 2021 17:58:46 +0100
parents
children b4e8551e2064
comparison
equal deleted inserted replaced
947:95201fd9ad88 948:21a91311c8ea
1 #
2 # CMakeLists.txt -- CMake build for irccd
3 #
4 # Copyright (c) 2013-2021 David Demelier <markand@malikania.fr>
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 project(libirccd)
20
21 set(
22 SOURCES
23 CMakeLists.txt
24 irccd/channel.c
25 irccd/channel.h
26 irccd/config.h.in
27 irccd/dl-plugin.c
28 irccd/dl-plugin.h
29 irccd/event.h
30 irccd/irccd.c
31 irccd/irccd.h
32 irccd/limits.h
33 irccd/log.c
34 irccd/log.h
35 irccd/peer.c
36 irccd/peer.h
37 irccd/plugin.c
38 irccd/plugin.h
39 irccd/rule.c
40 irccd/rule.h
41 irccd/server.c
42 irccd/server.h
43 irccd/set.h
44 irccd/subst.c
45 irccd/subst.h
46 irccd/transport.c
47 irccd/transport.h
48 irccd/util.c
49 irccd/util.h
50 )
51
52 if (IRCCD_WITH_JS)
53 list(
54 APPEND SOURCES
55 irccd/unicode.c
56 irccd/unicode.h
57 irccd/js-plugin.c
58 irccd/js-plugin.h
59 irccd/jsapi-chrono.c
60 irccd/jsapi-chrono.h
61 irccd/jsapi-file.c
62 irccd/jsapi-file.h
63 irccd/jsapi-irccd.c
64 irccd/jsapi-irccd.h
65 irccd/jsapi-logger.c
66 irccd/jsapi-logger.h
67 irccd/jsapi-plugin.c
68 irccd/jsapi-plugin.h
69 irccd/jsapi-server.c
70 irccd/jsapi-server.h
71 irccd/jsapi-system.c
72 irccd/jsapi-system.h
73 irccd/jsapi-timer.c
74 irccd/jsapi-timer.h
75 irccd/jsapi-unicode.c
76 irccd/jsapi-unicode.h
77 )
78 endif ()
79
80 configure_file(
81 ${libirccd_SOURCE_DIR}/irccd/config.h.in
82 ${libirccd_BINARY_DIR}/irccd/config.h
83 )
84
85 add_library(libirccd ${SOURCES})
86 set_target_properties(libirccd PROPERTIES PREFIX "")
87
88 target_include_directories(
89 libirccd
90 PUBLIC
91 $<BUILD_INTERFACE:${libirccd_SOURCE_DIR}>
92 $<BUILD_INTERFACE:${libirccd_BINARY_DIR}>
93 PRIVATE
94 $<BUILD_INTERFACE:${libirccd_BINARY_DIR}>/irccd
95 )
96 target_link_libraries(libirccd libirccd-compat)
97
98 if (IRCCD_WITH_JS)
99 target_link_libraries(libirccd libirccd-duktape)
100 endif ()