aboutsummaryrefslogtreecommitdiff
path: root/src/transport
diff options
context:
space:
mode:
Diffstat (limited to 'src/transport')
-rw-r--r--src/transport/inproc/CMakeLists.txt14
-rw-r--r--src/transport/ipc/CMakeLists.txt14
-rw-r--r--src/transport/tcp/CMakeLists.txt14
-rw-r--r--src/transport/tls/CMakeLists.txt15
-rw-r--r--src/transport/ws/CMakeLists.txt30
-rw-r--r--src/transport/zerotier/CMakeLists.txt21
6 files changed, 78 insertions, 30 deletions
diff --git a/src/transport/inproc/CMakeLists.txt b/src/transport/inproc/CMakeLists.txt
index 7c016bce..79264253 100644
--- a/src/transport/inproc/CMakeLists.txt
+++ b/src/transport/inproc/CMakeLists.txt
@@ -9,11 +9,15 @@
#
# inproc protocol
+option (NNG_TRANSPORT_INPROC "Enable inproc transport." ON)
+mark_as_advanced(NNG_TRANSPORT_INPROC)
if (NNG_TRANSPORT_INPROC)
- set(INPROC_SOURCES transport/inproc/inproc.c transport/inproc/inproc.h)
- set(INPROC_HEADERS transport/inproc/inproc.h)
-endif()
+ set(_SRCS transport/inproc/inproc.c transport/inproc/inproc.h)
+ set(_HDRS transport/inproc/inproc.h)
+ set(_DEFS -DNNG_TRANSPORT_INPROC)
-set(NNG_SOURCES ${NNG_SOURCES} ${INPROC_SOURCES} PARENT_SCOPE)
-set(NNG_HEADERS ${NNG_HEADERS} ${INPROC_HEADERS} PARENT_SCOPE)
+ set(NNG_SRCS ${NNG_SRCS} ${_SRCS} PARENT_SCOPE)
+ set(NNG_HDRS ${NNG_HDRS} ${_HDRS} PARENT_SCOPE)
+ set(NNG_DEFS ${NNG_DEFS} ${_DEFS} PARENT_SCOPE)
+endif()
diff --git a/src/transport/ipc/CMakeLists.txt b/src/transport/ipc/CMakeLists.txt
index fbae69ef..885b62b6 100644
--- a/src/transport/ipc/CMakeLists.txt
+++ b/src/transport/ipc/CMakeLists.txt
@@ -9,11 +9,15 @@
#
# ipc protocol
+option (NNG_TRANSPORT_IPC "Enable IPC transport." ON)
+mark_as_advanced(NNG_TRANSPORT_IPC)
if (NNG_TRANSPORT_IPC)
- set(IPC_SOURCES transport/ipc/ipc.c transport/ipc/ipc.h)
- set(IPC_HEADERS transport/ipc/ipc.h)
-endif()
+ set(_DEFS -DNNG_TRANSPORT_IPC)
+ set(_SRCS transport/ipc/ipc.c transport/ipc/ipc.h)
+ set(_HDRS transport/ipc/ipc.h)
-set(NNG_SOURCES ${NNG_SOURCES} ${IPC_SOURCES} PARENT_SCOPE)
-set(NNG_HEADERS ${NNG_HEADERS} ${IPC_HEADERS} PARENT_SCOPE)
+ set(NNG_DEFS ${NNG_DEFS} ${_DEFS} PARENT_SCOPE)
+ set(NNG_SRCS ${NNG_SRCS} ${_SRCS} PARENT_SCOPE)
+ set(NNG_HDRS ${NNG_HDRS} ${_HDRS} PARENT_SCOPE)
+endif()
diff --git a/src/transport/tcp/CMakeLists.txt b/src/transport/tcp/CMakeLists.txt
index 27b62e10..9390c048 100644
--- a/src/transport/tcp/CMakeLists.txt
+++ b/src/transport/tcp/CMakeLists.txt
@@ -9,11 +9,15 @@
#
# TCP protocol
+option (NNG_TRANSPORT_TCP "Enable TCP transport." ON)
+mark_as_advanced(NNG_TRANSPORT_TCP)
if (NNG_TRANSPORT_TCP)
- set(TCP_SOURCES transport/tcp/tcp.c transport/tcp/tcp.h)
- set(TCP_HEADERS transport/tcp/tcp.h)
-endif()
+ set(_DEFS -DNNG_TRANSPORT_TCP)
+ set(_SRCS transport/tcp/tcp.c transport/tcp/tcp.h)
+ set(_HDRS transport/tcp/tcp.h)
-set(NNG_SOURCES ${NNG_SOURCES} ${TCP_SOURCES} PARENT_SCOPE)
-set(NNG_HEADERS ${NNG_HEADERS} ${TCP_HEADERS} PARENT_SCOPE)
+ set(NNG_SRCS ${NNG_SRCS} ${_SRCS} PARENT_SCOPE)
+ set(NNG_HDRS ${NNG_HDRS} ${_HDRS} PARENT_SCOPE)
+ set(NNG_DEFS ${NNG_DEFS} ${_DEFS} PARENT_SCOPE)
+endif()
diff --git a/src/transport/tls/CMakeLists.txt b/src/transport/tls/CMakeLists.txt
index d55a9e92..80bc60af 100644
--- a/src/transport/tls/CMakeLists.txt
+++ b/src/transport/tls/CMakeLists.txt
@@ -9,11 +9,16 @@
#
# TLS transport
+CMAKE_DEPENDENT_OPTION(NNG_TRANSPORT_TLS "Enable TLS transport" ON
+ "NNG_ENABLE_TLS" OFF)
+mark_as_advanced(NNG_TRANSPORT_TLS)
if (NNG_TRANSPORT_TLS)
- set(TLS_SOURCES transport/tls/tls.c transport/tls/tls.h)
- set(TLS_HEADERS transport/tls/tls.h)
-endif()
+ set(_DEFS -DNNG_TRANSPORT_TLS)
+ set(_SRCS transport/tls/tls.c transport/tls/tls.h)
+ set(_HDRS transport/tls/tls.h)
-set(NNG_SOURCES ${NNG_SOURCES} ${TLS_SOURCES} PARENT_SCOPE)
-set(NNG_HEADERS ${NNG_HEADERS} ${TLS_HEADERS} PARENT_SCOPE)
+ set(NNG_DEFS ${NNG_DEFS} ${_DEFS} PARENT_SCOPE)
+ set(NNG_SRCS ${NNG_SRCS} ${_SRCS} PARENT_SCOPE)
+ set(NNG_HDRS ${NNG_HDRS} ${_HDRS} PARENT_SCOPE)
+endif()
diff --git a/src/transport/ws/CMakeLists.txt b/src/transport/ws/CMakeLists.txt
index 71e2aefa..8104d83c 100644
--- a/src/transport/ws/CMakeLists.txt
+++ b/src/transport/ws/CMakeLists.txt
@@ -9,11 +9,33 @@
#
# WebSocket transport
+option (NNG_TRANSPORT_WS "Enable WebSocket transport." ON)
+mark_as_advanced(NNG_TRANSPORT_WS)
+
+CMAKE_DEPENDENT_OPTION(NNG_TRANSPORT_WSS "Enable WSS transport" ON
+ "NNG_ENABLE_TLS" OFF)
+mark_as_advanced(NNG_TRANSPORT_WSS)
+
+set(_DEFS)
if (NNG_TRANSPORT_WS)
- set(WS_SOURCES transport/ws/websocket.c transport/ws/websocket.h)
- set(WS_HEADERS transport/ws/websocket.h)
+ list(APPEND _DEFS -DNNG_TRANSPORT_WS)
+endif()
+if (NNG_TRANSPORT_WSS)
+ list(APPEND _DEFS -DNNG_TRANSPORT_WSS)
endif()
-set(NNG_SOURCES ${NNG_SOURCES} ${WS_SOURCES} PARENT_SCOPE)
-set(NNG_HEADERS ${NNG_HEADERS} ${WS_HEADERS} PARENT_SCOPE)
+if (NNG_TRANSPORT_WS OR NNG_TRANSPORT_WSS)
+
+ # Make sure things we *MUST* have are enabled.
+ set(NNG_SUPP_WEBSOCKET ON PARENT_SCOPE)
+ set(NNG_SUPP_HTTP ON PARENT_SCOPE)
+ set(NNG_SUPP_BASE64 ON PARENT_SCOPE)
+ set(NNG_SUPP_SHA1 ON PARENT_SCOPE)
+
+ set(_SRCS transport/ws/websocket.c transport/ws/websocket.h)
+ set(_HDRS transport/ws/websocket.h)
+ set(NNG_DEFS ${NNG_DEFS} ${_DEFS} PARENT_SCOPE)
+ set(NNG_SRCS ${NNG_SRCS} ${_SRCS} PARENT_SCOPE)
+ set(NNG_HDRS ${NNG_HDRS} ${_HDRS} PARENT_SCOPE)
+endif()
diff --git a/src/transport/zerotier/CMakeLists.txt b/src/transport/zerotier/CMakeLists.txt
index d8dbb566..686a0a8a 100644
--- a/src/transport/zerotier/CMakeLists.txt
+++ b/src/transport/zerotier/CMakeLists.txt
@@ -10,6 +10,9 @@
# ZeroTier protocol
+option (NNG_TRANSPORT_ZEROTIER "Enable ZeroTier transport (requires libzerotiercore)." OFF)
+mark_as_advanced(NNG_TRANSPORT_ZEROTIER)
+
if (NNG_TRANSPORT_ZEROTIER)
# The zerotiercore project will have been found at the top level
@@ -27,12 +30,18 @@ if (NNG_TRANSPORT_ZEROTIER)
Consult a lawyer and the license files for details.
************************************************************")
- set(NNG_REQUIRED_LIBRARIES ${NNG_REQUIRED_LIBRARIES} zerotiercore::zerotiercore)
- set(NNG_REQUIRED_LIBRARIES ${NNG_REQUIRED_LIBRARIES} PARENT_SCOPE)
+ find_package(zerotiercore REQUIRED)
+ set(_PKGS zerotiercore)
+ set(_LIBS zerotiercore::zerotiercore)
+ set(_DEFS -DNNG_TRANSPORT_ZEROTIER)
+
+ set(_SRCS transport/zerotier/zerotier.c transport/zerotier/zerotier.h)
+ set(_HDRS transport/zerotier/zerotier.h)
- set(ZT_SOURCES transport/zerotier/zerotier.c transport/zerotier/zerotier.h)
- set(ZT_HEADERS transport/zerotier/zerotier.h)
+ set(NNG_DEFS ${NNG_DEFS} ${_DEFS} PARENT_SCOPE)
+ set(NNG_LIBS ${NNG_LIBS} ${_LIBS} PARENT_SCOPE)
+ set(NNG_PKGS ${NNG_PKGS} ${_PKGS} PARENT_SCOPE)
+ set(NNG_SRCS ${NNG_SRCS} ${_SRCS} PARENT_SCOPE)
+ set(NNG_HDRS ${NNG_HDRS} ${_HDRS} PARENT_SCOPE)
- set(NNG_SOURCES ${NNG_SOURCES} ${ZT_SOURCES} PARENT_SCOPE)
- set(NNG_HEADERS ${NNG_HEADERS} ${ZT_HEADERS} PARENT_SCOPE)
endif()