annotate libirccd-test/CMakeLists.txt @ 710:a17de53db29b

Misc: export libraries Export all libraries with CMake and install headers. While here, build Duktape as object library to avoid exporting it. Don't mix static/dynamic libraries anymore. closes #867 closes #439
author David Demelier <markand@malikania.fr>
date Sat, 07 Jul 2018 14:03:04 +0200
parents 2007a37d7e1a
children fc66cc9706a7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
377
cd7270ec6c8e CMake: general cleanup
David Demelier <markand@malikania.fr>
parents: 350
diff changeset
1 #
cd7270ec6c8e CMake: general cleanup
David Demelier <markand@malikania.fr>
parents: 350
diff changeset
2 # CMakeLists.txt -- CMake build system for irccd
cd7270ec6c8e CMake: general cleanup
David Demelier <markand@malikania.fr>
parents: 350
diff changeset
3 #
628
27587ff92a64 Misc: update copyrights
David Demelier <markand@malikania.fr>
parents: 620
diff changeset
4 # Copyright (c) 2013-2018 David Demelier <markand@malikania.fr>
377
cd7270ec6c8e CMake: general cleanup
David Demelier <markand@malikania.fr>
parents: 350
diff changeset
5 #
cd7270ec6c8e CMake: general cleanup
David Demelier <markand@malikania.fr>
parents: 350
diff changeset
6 # Permission to use, copy, modify, and/or distribute this software for any
cd7270ec6c8e CMake: general cleanup
David Demelier <markand@malikania.fr>
parents: 350
diff changeset
7 # purpose with or without fee is hereby granted, provided that the above
cd7270ec6c8e CMake: general cleanup
David Demelier <markand@malikania.fr>
parents: 350
diff changeset
8 # copyright notice and this permission notice appear in all copies.
cd7270ec6c8e CMake: general cleanup
David Demelier <markand@malikania.fr>
parents: 350
diff changeset
9 #
cd7270ec6c8e CMake: general cleanup
David Demelier <markand@malikania.fr>
parents: 350
diff changeset
10 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
cd7270ec6c8e CMake: general cleanup
David Demelier <markand@malikania.fr>
parents: 350
diff changeset
11 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
cd7270ec6c8e CMake: general cleanup
David Demelier <markand@malikania.fr>
parents: 350
diff changeset
12 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
cd7270ec6c8e CMake: general cleanup
David Demelier <markand@malikania.fr>
parents: 350
diff changeset
13 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
cd7270ec6c8e CMake: general cleanup
David Demelier <markand@malikania.fr>
parents: 350
diff changeset
14 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
cd7270ec6c8e CMake: general cleanup
David Demelier <markand@malikania.fr>
parents: 350
diff changeset
15 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
cd7270ec6c8e CMake: general cleanup
David Demelier <markand@malikania.fr>
parents: 350
diff changeset
16 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
cd7270ec6c8e CMake: general cleanup
David Demelier <markand@malikania.fr>
parents: 350
diff changeset
17 #
cd7270ec6c8e CMake: general cleanup
David Demelier <markand@malikania.fr>
parents: 350
diff changeset
18
295
6bf457b71e0c Irccd: add new libirccd-test for unit tests
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 project(libirccd-test)
6bf457b71e0c Irccd: add new libirccd-test for unit tests
David Demelier <markand@malikania.fr>
parents:
diff changeset
20
710
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents: 701
diff changeset
21 set(
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents: 701
diff changeset
22 HEADERS
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents: 701
diff changeset
23 ${libirccd-test_SOURCE_DIR}/irccd/test/cli_test.hpp
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents: 701
diff changeset
24 ${libirccd-test_SOURCE_DIR}/irccd/test/command_test.hpp
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents: 701
diff changeset
25 ${libirccd-test_SOURCE_DIR}/irccd/test/debug_server.hpp
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents: 701
diff changeset
26 ${libirccd-test_SOURCE_DIR}/irccd/test/journal_server.hpp
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents: 701
diff changeset
27 ${libirccd-test_SOURCE_DIR}/irccd/test/plugin_cli_test.hpp
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents: 701
diff changeset
28 ${libirccd-test_SOURCE_DIR}/irccd/test/rule_cli_test.hpp
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents: 701
diff changeset
29 $<$<BOOL:${IRCCD_HAVE_JS}>:${libirccd-test_SOURCE_DIR}/irccd/test/plugin_test.hpp>
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents: 701
diff changeset
30 $<$<BOOL:${IRCCD_HAVE_JS}>:${libirccd-test_SOURCE_DIR}/irccd/test/js_test.hpp>
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents: 701
diff changeset
31 )
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents: 701
diff changeset
32
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents: 701
diff changeset
33 set(
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents: 701
diff changeset
34 SOURCES
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents: 701
diff changeset
35 ${libirccd-test_SOURCE_DIR}/irccd/test/cli_test.cpp
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents: 701
diff changeset
36 ${libirccd-test_SOURCE_DIR}/irccd/test/debug_server.cpp
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents: 701
diff changeset
37 ${libirccd-test_SOURCE_DIR}/irccd/test/journal_server.cpp
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents: 701
diff changeset
38 ${libirccd-test_SOURCE_DIR}/irccd/test/plugin_cli_test.cpp
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents: 701
diff changeset
39 ${libirccd-test_SOURCE_DIR}/irccd/test/rule_cli_test.cpp
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents: 701
diff changeset
40 $<$<BOOL:${IRCCD_HAVE_JS}>:${libirccd-test_SOURCE_DIR}/irccd/test/plugin_test.cpp>
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents: 701
diff changeset
41 )
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents: 701
diff changeset
42
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents: 701
diff changeset
43 if (${IRCCD_HAVE_JS})
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents: 701
diff changeset
44 list(APPEND LIBRARIES libirccd-js)
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents: 701
diff changeset
45 endif ()
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents: 701
diff changeset
46
295
6bf457b71e0c Irccd: add new libirccd-test for unit tests
David Demelier <markand@malikania.fr>
parents:
diff changeset
47 irccd_define_library(
6bf457b71e0c Irccd: add new libirccd-test for unit tests
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 TARGET libirccd-test
710
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents: 701
diff changeset
49 EXPORT
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents: 701
diff changeset
50 HEADERS ${HEADERS}
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents: 701
diff changeset
51 HEADERS_DIRECTORY irccd/test
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents: 701
diff changeset
52 SOURCES ${SOURCES}
377
cd7270ec6c8e CMake: general cleanup
David Demelier <markand@malikania.fr>
parents: 350
diff changeset
53 LIBRARIES
710
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents: 701
diff changeset
54 ${LIBRARIES}
386
6a6513d184c3 Irccd: fix build without Javascript
David Demelier <markand@malikania.fr>
parents: 377
diff changeset
55 libirccd
377
cd7270ec6c8e CMake: general cleanup
David Demelier <markand@malikania.fr>
parents: 350
diff changeset
56 libirccdctl
295
6bf457b71e0c Irccd: add new libirccd-test for unit tests
David Demelier <markand@malikania.fr>
parents:
diff changeset
57 PUBLIC_INCLUDES
604
9d4da384f5d6 Tests: move libirccd-test to test/ folder, closes #750
David Demelier <markand@malikania.fr>
parents: 560
diff changeset
58 $<BUILD_INTERFACE:${libirccd-test_SOURCE_DIR}>
662
e9153b85b9bd Tests: test irccdctl (plugin-* commands) #785
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
59 FLAGS
710
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents: 701
diff changeset
60 $<BUILD_INTERFACE:IRCCD_EXECUTABLE="$<TARGET_FILE:irccd>">
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents: 701
diff changeset
61 $<BUILD_INTERFACE:IRCCDCTL_EXECUTABLE="$<TARGET_FILE:irccdctl>">
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents: 701
diff changeset
62 $<INSTALL_INTERFACE:IRCCD_EXECUTABLE="$<TARGET_FILE:irccd::irccd>">
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents: 701
diff changeset
63 $<INSTALL_INTERFACE:IRCCDCTL_EXECUTABLE="$<TARGET_FILE:irccd::irccdctl>">
295
6bf457b71e0c Irccd: add new libirccd-test for unit tests
David Demelier <markand@malikania.fr>
parents:
diff changeset
64 )