aboutsummaryrefslogtreecommitdiff
path: root/cmake/nng-config.cmake.in
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2018-11-05 13:54:40 -0800
committerGarrett D'Amore <garrett@damore.org>2018-11-05 16:20:23 -0800
commit77984b14a65c0a7387c97f3d36f947dd17358744 (patch)
treed95ad88933c9fe8853cbc74fe8dc1492d60ad443 /cmake/nng-config.cmake.in
parentdb92342b43d429b8b07244cc003a8589a1b1c542 (diff)
downloadnng-77984b14a65c0a7387c97f3d36f947dd17358744.tar.gz
nng-77984b14a65c0a7387c97f3d36f947dd17358744.tar.bz2
nng-77984b14a65c0a7387c97f3d36f947dd17358744.zip
fixes #577 target library dependencies should be public
This is a significant refactor of the library configuration. We use the modern package configuration helper, with a template script that also does the find_package dance for any of our dependencies. We also have restructured the code so that most protocols and transports have their configuration isolated to their own CMakeLists file, reducing the size of the global CMakeLists file.
Diffstat (limited to 'cmake/nng-config.cmake.in')
-rw-r--r--cmake/nng-config.cmake.in26
1 files changed, 26 insertions, 0 deletions
diff --git a/cmake/nng-config.cmake.in b/cmake/nng-config.cmake.in
new file mode 100644
index 00000000..c3ec7f25
--- /dev/null
+++ b/cmake/nng-config.cmake.in
@@ -0,0 +1,26 @@
+# Copyright 2018 Staysail Systems, Inc. <info@staysail.tech>
+#
+# This software is supplied under the terms of the MIT License, a
+# copy of which should be located in the distribution where this
+# file was obtained (LICENSE.txt). A copy of the license may also be
+# found online at https://opensource.org/licenses/MIT.
+
+
+@PACKAGE_INIT@
+
+set(NNG_VERSION_MAJOR "@NNG_VERSION_MAJOR@")
+set(NNG_VERSION_MINOR "@NNG_VERSION_MINOR@")
+set(NNG_VERSION_PATCH "@NNG_VERSION_PATCH@")
+
+set_and_check(NNG_INCLUDE_DIRS "@PACKAGE_INCLUDE_INSTALL_DIRS@")
+
+include("${CMAKE_CURRENT_LIST_DIR}/nng-targets.cmake")
+
+# Make sure we find packages for our dependencies
+foreach(_PKG IN ITEMS @NNG_PKGS@)
+ find_package(${_PKG} REQUIRED)
+endforeach ()
+
+set(NNG_LIBRARY nng::nng)
+
+check_required_components(@PROJECT_NAME@)