diff options
| author | Garrett D'Amore <garrett@damore.org> | 2018-05-24 14:59:39 -0700 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2018-05-25 08:11:26 -0700 |
| commit | 301de3ac5c7cf8a5eaaf3c58157251db781841d6 (patch) | |
| tree | d0a19062d01de0df130a59613134330809b2a5ae /demo/http_client | |
| parent | b36dadf267842fb2fad7596f90f8f0cd78ac4af5 (diff) | |
| download | nng-301de3ac5c7cf8a5eaaf3c58157251db781841d6.tar.gz nng-301de3ac5c7cf8a5eaaf3c58157251db781841d6.tar.bz2 nng-301de3ac5c7cf8a5eaaf3c58157251db781841d6.zip | |
fixes #486 Revisit SOVERSION and VERSION
fixes #485 Honor BUILD_SHARED_LIBS
fixes #483 Don't expose private symbols in shared library
fixes #481 Export CMake target
This is a "large" commit involving changes that don't affect the
code directly, but which have an impact on how we package and build
our project.
The most significant of these changes is that we now build only
either a shared or a static library, depending on the setting of
the BUILD_SHARED_LIBS option. We also suppress private symbols
from being exposed when the underlying toolchain lets us do so.
Minor updates to the way we version the ABI are used, and we now
have a nice exported CMake project.
To import this project in another, simply do find_package(nng)
and you can add target_link_libraries(nng::nng) to your targets.
CMake does the rest for you.
Diffstat (limited to 'demo/http_client')
| -rw-r--r-- | demo/http_client/CMakeLists.txt | 18 | ||||
| -rw-r--r-- | demo/http_client/README.adoc | 12 | ||||
| -rw-r--r-- | demo/http_client/http_client.c | 1 |
3 files changed, 30 insertions, 1 deletions
diff --git a/demo/http_client/CMakeLists.txt b/demo/http_client/CMakeLists.txt new file mode 100644 index 00000000..3fe126f9 --- /dev/null +++ b/demo/http_client/CMakeLists.txt @@ -0,0 +1,18 @@ +# +# Copyright 2018 Capitar IT Group BV <info@capitar.com> +# 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. + +cmake_minimum_required (VERSION 2.8.7) + +project(http_client) + +# Call this from your own project's makefile. +find_package(nng CONFIG REQUIRED) + +add_executable(http_client http_client.c) +target_link_libraries(http_client nng::nng) diff --git a/demo/http_client/README.adoc b/demo/http_client/README.adoc index a0fb54e4..f8777557 100644 --- a/demo/http_client/README.adoc +++ b/demo/http_client/README.adoc @@ -30,6 +30,17 @@ Linux and macOS: % ${CC} ${CPPFLAGS} http_client.c -o http_client ${LDFLAGS} ---- +Alternatively, CMake can be used. Here's an example if you have +Ninja build handy (highly recommended): + +[source, bash] +---- +% mkdir build +% cd build +% cmake -G Ninja .. +% ninja +---- + == Running Make sure you specify the full URL (if the root page include @@ -39,4 +50,3 @@ the simple "/". The URL parser does not add it for you automatically.) ---- % ./http_client http://httpbin.org/ip ---- - diff --git a/demo/http_client/http_client.c b/demo/http_client/http_client.c index 522c1cd1..a00c842f 100644 --- a/demo/http_client/http_client.c +++ b/demo/http_client/http_client.c @@ -34,6 +34,7 @@ // #include <nng/nng.h> +#include <nng/supplemental/http/http.h> #include <stdio.h> #include <stdlib.h> |
