annotate cmake/export/CMakeLists.txt @ 892:a594bae8669d release-3.0

cmake: add missing IRCCD_WITH_JS in CMake config package, closes #2340
author David Demelier <markand@malikania.fr>
date Wed, 04 Sep 2019 21:03:00 +0200
parents 06cc2f95f479
children 5e25439fe98d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
710
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 #
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 # CMakeLists.txt -- CMake build system for irccd
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 #
824
06cc2f95f479 misc: happy new year!
David Demelier <markand@malikania.fr>
parents: 809
diff changeset
4 # Copyright (c) 2013-2019 David Demelier <markand@malikania.fr>
710
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 #
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 # Permission to use, copy, modify, and/or distribute this software for any
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 # purpose with or without fee is hereby granted, provided that the above
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 # copyright notice and this permission notice appear in all copies.
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 #
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 #
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 include(CMakePackageConfigHelpers)
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents:
diff changeset
20
711
fc66cc9706a7 CMake: export pkg-config files, closes #874 @1h
David Demelier <markand@malikania.fr>
parents: 710
diff changeset
21 # CMake export files.
710
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 write_basic_package_version_file(
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 711
diff changeset
23 ${CMAKE_CURRENT_BINARY_DIR}/irccd-config-version.cmake
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 711
diff changeset
24 VERSION ${IRCCD_VERSION}
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 711
diff changeset
25 COMPATIBILITY SameMajorVersion
710
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 )
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents:
diff changeset
27
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 install(
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 711
diff changeset
29 EXPORT irccd-targets
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 711
diff changeset
30 FILE irccd-targets.cmake
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 711
diff changeset
31 NAMESPACE irccd::
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 711
diff changeset
32 DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/irccd
710
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 )
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents:
diff changeset
34
892
a594bae8669d cmake: add missing IRCCD_WITH_JS in CMake config package, closes #2340
David Demelier <markand@malikania.fr>
parents: 824
diff changeset
35 configure_file(
a594bae8669d cmake: add missing IRCCD_WITH_JS in CMake config package, closes #2340
David Demelier <markand@malikania.fr>
parents: 824
diff changeset
36 ${CMAKE_CURRENT_SOURCE_DIR}/irccd-config.cmake
a594bae8669d cmake: add missing IRCCD_WITH_JS in CMake config package, closes #2340
David Demelier <markand@malikania.fr>
parents: 824
diff changeset
37 ${CMAKE_CURRENT_BINARY_DIR}/irccd-config.cmake
a594bae8669d cmake: add missing IRCCD_WITH_JS in CMake config package, closes #2340
David Demelier <markand@malikania.fr>
parents: 824
diff changeset
38 @ONLY
a594bae8669d cmake: add missing IRCCD_WITH_JS in CMake config package, closes #2340
David Demelier <markand@malikania.fr>
parents: 824
diff changeset
39 )
a594bae8669d cmake: add missing IRCCD_WITH_JS in CMake config package, closes #2340
David Demelier <markand@malikania.fr>
parents: 824
diff changeset
40
710
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 install(
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 711
diff changeset
42 FILES
892
a594bae8669d cmake: add missing IRCCD_WITH_JS in CMake config package, closes #2340
David Demelier <markand@malikania.fr>
parents: 824
diff changeset
43 ${CMAKE_CURRENT_BINARY_DIR}/irccd-config.cmake
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 711
diff changeset
44 ${CMAKE_CURRENT_BINARY_DIR}/irccd-config-version.cmake
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 711
diff changeset
45 DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/irccd
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 711
diff changeset
46 COMPONENT Devel
710
a17de53db29b Misc: export libraries
David Demelier <markand@malikania.fr>
parents:
diff changeset
47 )
711
fc66cc9706a7 CMake: export pkg-config files, closes #874 @1h
David Demelier <markand@malikania.fr>
parents: 710
diff changeset
48
fc66cc9706a7 CMake: export pkg-config files, closes #874 @1h
David Demelier <markand@malikania.fr>
parents: 710
diff changeset
49 # pkg-config files.
fc66cc9706a7 CMake: export pkg-config files, closes #874 @1h
David Demelier <markand@malikania.fr>
parents: 710
diff changeset
50 if (IRCCD_WITH_PKGCONFIG)
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 711
diff changeset
51 # Since javascript is optional, add it only if required.
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 711
diff changeset
52 if (IRCCD_HAVE_JS)
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 711
diff changeset
53 set(IRCCD_EXTRA_REQUIRES libirccd-js)
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 711
diff changeset
54 endif ()
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 711
diff changeset
55 if (IRCCD_HAVE_SSL)
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 711
diff changeset
56 set(IRCCD_EXTRA_LIBS "-lssl -lcrypto")
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 711
diff changeset
57 endif ()
711
fc66cc9706a7 CMake: export pkg-config files, closes #874 @1h
David Demelier <markand@malikania.fr>
parents: 710
diff changeset
58
809
8460b4a34191 misc: reorganize namespaces, closes #952 @4h
David Demelier <markand@malikania.fr>
parents: 773
diff changeset
59 foreach (pkg libirccd libirccd-daemon libirccd-ctl libirccd-js libirccd-test)
773
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 711
diff changeset
60 configure_file(
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 711
diff changeset
61 ${CMAKE_CURRENT_SOURCE_DIR}/${pkg}.pc
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 711
diff changeset
62 ${CMAKE_CURRENT_BINARY_DIR}/${pkg}.pc
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 711
diff changeset
63 @ONLY
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 711
diff changeset
64 )
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 711
diff changeset
65 install(
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 711
diff changeset
66 FILES ${CMAKE_CURRENT_BINARY_DIR}/${pkg}.pc
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 711
diff changeset
67 DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 711
diff changeset
68 )
8c44bbcbbab9 Misc: style, cleanup and update
David Demelier <markand@malikania.fr>
parents: 711
diff changeset
69 endforeach ()
711
fc66cc9706a7 CMake: export pkg-config files, closes #874 @1h
David Demelier <markand@malikania.fr>
parents: 710
diff changeset
70 endif ()