Browse Source

Enable ZeroTier on Android

pull/3080/head
staphen 4 years ago committed by Anders Jenbo
parent
commit
f8860233d8
  1. 24
      3rdParty/libzt/CMakeLists.txt
  2. 6
      CMakeLists.txt
  3. 1
      android-project/CMake/android_defs.cmake

24
3rdParty/libzt/CMakeLists.txt vendored

@ -3,33 +3,39 @@ include(FetchContent_MakeAvailableExcludeFromAll)
include(FetchContent)
FetchContent_Declare(libzt
GIT_REPOSITORY https://github.com/diasurgical/libzt.git
GIT_TAG 2607962e3b2c1def68479f7dc382c7508c367365)
GIT_TAG a1acf0119888f645ceae69ecea2b6174ee220da5)
FetchContent_MakeAvailableExcludeFromAll(libzt)
if(NOT ANDROID)
set(libzt_LIB_NAME zt-static)
else()
set(libzt_LIB_NAME zt-shared)
endif()
# External library, ignore all warnings
target_compile_options(zto_obj PRIVATE -w)
target_compile_options(libnatpmp_obj PRIVATE -w)
target_compile_options(libzt_obj PRIVATE -w)
target_compile_options(lwip_obj PRIVATE -w)
target_compile_options(miniupnpc_obj PRIVATE -w)
target_compile_options(zt-static PRIVATE -w)
target_compile_options(${libzt_LIB_NAME} PRIVATE -w)
if(NOT CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
target_compile_options(zto_obj PRIVATE -fpermissive)
target_compile_options(libzt_obj PRIVATE -fpermissive)
target_compile_options(zt-static PRIVATE -fpermissive)
target_compile_options(${libzt_LIB_NAME} PRIVATE -fpermissive)
endif()
target_include_directories(zt-static INTERFACE
target_include_directories(${libzt_LIB_NAME} INTERFACE
"${libzt_SOURCE_DIR}/include"
"${libzt_SOURCE_DIR}/src"
"${libzt_SOURCE_DIR}/ext/lwip/src/include")
if(WIN32)
target_include_directories(zt-static INTERFACE
target_include_directories(${libzt_LIB_NAME} INTERFACE
"${libzt_SOURCE_DIR}/ext/lwip-contrib/ports/win32/include")
else()
target_include_directories(zt-static INTERFACE
target_include_directories(${libzt_LIB_NAME} INTERFACE
"${libzt_SOURCE_DIR}/ext/lwip-contrib/ports/unix/port/include")
endif()
@ -45,11 +51,11 @@ if(MINGW_CROSS)
target_compile_definitions(zto_obj PRIVATE -D_WIN32_WINNT=0x601 -DZT_SALSA20_SSE=0)
target_compile_definitions(libzt_obj PRIVATE -D_WIN32_WINNT=0x601)
target_link_libraries(libzt_obj PRIVATE mingw_stdthreads)
target_link_libraries(zt-static PUBLIC iphlpapi shlwapi wsock32 ws2_32 wininet mingw_stdthreads)
target_include_directories(zt-static INTERFACE "${libzt_SOURCE_DIR}/include/mingw-fixes")
target_link_libraries(${libzt_LIB_NAME} PUBLIC iphlpapi shlwapi wsock32 ws2_32 wininet mingw_stdthreads)
target_include_directories(${libzt_LIB_NAME} INTERFACE "${libzt_SOURCE_DIR}/include/mingw-fixes")
endif()
if(MSVC)
target_compile_definitions(libnatpmp_obj PRIVATE -DSTATICLIB)
target_link_libraries(zt-static PUBLIC iphlpapi shlwapi wsock32 ws2_32 wininet)
target_link_libraries(${libzt_LIB_NAME} PUBLIC iphlpapi shlwapi wsock32 ws2_32 wininet)
endif()

6
CMakeLists.txt

@ -1220,5 +1220,9 @@ endif()
if(NOT NONET AND NOT DISABLE_ZERO_TIER)
add_subdirectory(3rdParty/libzt)
target_link_libraries(libdevilutionx PUBLIC zt-static)
if(NOT ANDROID)
target_link_libraries(libdevilutionx PUBLIC zt-static)
else()
target_link_libraries(libdevilutionx PUBLIC zt-shared)
endif()
endif()

1
android-project/CMake/android_defs.cmake

@ -3,7 +3,6 @@ set(ASAN OFF)
set(UBSAN OFF)
set(DEVILUTIONX_SYSTEM_LIBSODIUM OFF)
set(DEVILUTIONX_SYSTEM_LIBPNG OFF)
set(DISABLE_ZERO_TIER ON)
set(VIRTUAL_GAMEPAD ON)
if(BINARY_RELEASE OR CMAKE_BUILD_TYPE STREQUAL "Release")

Loading…
Cancel
Save