|
|
|
|
@ -52,11 +52,10 @@ set (libzt_VERSION_MAJOR 1)
|
|
|
|
|
set (libzt_VERSION_MINOR 0) |
|
|
|
|
set (ZT_DEFS -std=c++11 "-DZT_SDK=1") |
|
|
|
|
set (LIBZT_DEFS -std=c++11 "-DZT_SDK=1") |
|
|
|
|
#set(CMAKE_POSITION_INDEPENDENT_CODE ON) |
|
|
|
|
|
|
|
|
|
# --- dirs --- |
|
|
|
|
set (PROJ_DIR ${PROJECT_SOURCE_DIR}) |
|
|
|
|
set (CMAKE_BINARY_DIR ${CMAKE_SOURCE_DIR}/bin) |
|
|
|
|
set (CMAKE_BINARY_DIR ${PROJECT_SOURCE_DIR}/bin) |
|
|
|
|
set (EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}) |
|
|
|
|
set (LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib) |
|
|
|
|
|
|
|
|
|
@ -76,6 +75,12 @@ file(GLOB lwip_src_glob
|
|
|
|
|
add_library(lwip STATIC ${lwip_src_glob}) |
|
|
|
|
target_compile_options(lwip PRIVATE ${NS_DEFS}) |
|
|
|
|
|
|
|
|
|
add_library(lwip_pic STATIC ${lwip_src_glob}) |
|
|
|
|
target_compile_options(lwip_pic PRIVATE ${NS_DEFS}) |
|
|
|
|
set_target_properties(lwip_pic PROPERTIES POSITION_INDEPENDENT_CODE ON) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# (zto) ZeroTier Core Service |
|
|
|
|
set(ZTO_SRC_DIR ${PROJ_DIR}/zto) |
|
|
|
|
include_directories(${ZTO_SRC_DIR}/include) |
|
|
|
|
@ -89,12 +94,26 @@ file(GLOB zto_src_glob
|
|
|
|
|
${ZTO_SRC_DIR}/controller/*.cpp |
|
|
|
|
${ZTO_SRC_DIR}/osdep/ManagedRoute.cpp) |
|
|
|
|
add_library(zto STATIC ${zto_src_glob}) |
|
|
|
|
target_compile_options(zto PRIVATE ${ZT_DEFS}) |
|
|
|
|
target_link_libraries(zto http) |
|
|
|
|
target_link_libraries(zto zt) |
|
|
|
|
|
|
|
|
|
add_library(zto_pic STATIC ${zto_src_glob}) |
|
|
|
|
target_compile_options(zto_pic PRIVATE ${ZT_DEFS}) |
|
|
|
|
target_link_libraries(zto_pic http_pic) |
|
|
|
|
target_link_libraries(zto_pic zt) |
|
|
|
|
set_target_properties(zto_pic PROPERTIES POSITION_INDEPENDENT_CODE ON) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# (http) HTTP Control Plane for ZT Service |
|
|
|
|
add_library(http STATIC "${ZTO_SRC_DIR}/ext/http-parser/http_parser.c") |
|
|
|
|
target_compile_options(zto PRIVATE ${ZT_DEFS}) |
|
|
|
|
target_link_libraries(zto http) |
|
|
|
|
|
|
|
|
|
add_library(http_pic STATIC "${ZTO_SRC_DIR}/ext/http-parser/http_parser.c") |
|
|
|
|
set_target_properties(http_pic PROPERTIES POSITION_INDEPENDENT_CODE ON) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# (libzt) Static Library variant of ZeroTier paired with userspace stack and virtual tap interface |
|
|
|
|
set (LIBZT_SRC_DIR ${PROJ_DIR}/src) |
|
|
|
|
@ -110,18 +129,25 @@ set_target_properties(zt PROPERTIES OUTPUT_NAME zt)
|
|
|
|
|
# (libzt) Shared Library variant of ZeroTier paired with userspace stack and virtual tap interface |
|
|
|
|
add_library(ztshared SHARED ${libzt_src_glob}) |
|
|
|
|
target_compile_options(ztshared PRIVATE ${LIBZT_DEFS}) |
|
|
|
|
target_link_libraries(ztshared zto) |
|
|
|
|
target_link_libraries(ztshared lwip) |
|
|
|
|
target_link_libraries(ztshared zto_pic) |
|
|
|
|
target_link_libraries(ztshared lwip_pic) |
|
|
|
|
set_target_properties(ztshared PROPERTIES OUTPUT_NAME zt) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# --- executables --- |
|
|
|
|
|
|
|
|
|
# test |
|
|
|
|
# Test Executables/Apps |
|
|
|
|
add_executable(ipv4simple ${PROJ_DIR}/examples/bindings/cpp/ipv4simple/server.cpp) |
|
|
|
|
target_link_libraries(ipv4simple lwip zto zt pthread) |
|
|
|
|
target_compile_options(ipv4simple PRIVATE -std=c++11 -DLIBZT_TRACE=1) |
|
|
|
|
|
|
|
|
|
file(REMOVE_RECURSE ${CMAKE_BINARY_DIR}/bin/lib/libhttp.a) |
|
|
|
|
# Clean up intermediate library targets |
|
|
|
|
file(REMOVE {LIBRARY_OUTPUT_PATH}/libhttp.a) |
|
|
|
|
file(REMOVE {LIBRARY_OUTPUT_PATH}/libhttp_pic.a) |
|
|
|
|
file(REMOVE {LIBRARY_OUTPUT_PATH}/libzto.a) |
|
|
|
|
file(REMOVE {LIBRARY_OUTPUT_PATH}/libzto_pic.a) |
|
|
|
|
file(REMOVE {LIBRARY_OUTPUT_PATH}/liblwip.a) |
|
|
|
|
file(REMOVE {LIBRARY_OUTPUT_PATH}/liblwip_pic.a) |
|
|
|
|
|
|
|
|
|
# --- CONFIGURATION |
|
|
|
|
|
|
|
|
|
|