Added -fPIC enabled variant targets to CMake file
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user