1
1
Fork 0
mirror of https://github.com/oxen-io/lokinet synced 2023-12-14 06:53:00 +01:00
This commit is contained in:
Jeff Becker 2023-02-02 11:43:47 -05:00
parent ec2c3b38f8
commit 8a9f27ba6b
No known key found for this signature in database
GPG key ID: 025C02EE3A092F2D
2 changed files with 16 additions and 50 deletions

View file

@ -9,8 +9,10 @@ function(combine_archives output_archive)
if(NOT APPLE)
set(mri_file ${CMAKE_CURRENT_BINARY_DIR}/${output_archive}.mri)
set(mri_content "create ${FULL_OUTPUT_PATH}\n")
foreach(in_archive ${ARGN})
string(APPEND mri_content "addlib $<TARGET_FILE:${in_archive}>\n")
foreach(in_lib ${ARGV})
foreach(lib $<INTERFACE_LINK_LIBRARIES:${in_lib}>)
string(APPEND mri_content "addlib $<TARGET_FILE:${lib}>\n")
endforeach()
endforeach()
string(APPEND mri_content "save\nend\n")
file(GENERATE OUTPUT ${mri_file} CONTENT "${mri_content}")
@ -20,8 +22,10 @@ function(combine_archives output_archive)
COMMAND ar -M < ${mri_file})
else()
set(merge_libs)
foreach(in_archive ${ARGN})
list(APPEND merge_libs $<TARGET_FILE:${in_archive}>)
foreach(in_lib in ${ARGV})
foreach(lib in $<INTERFACE_LINK_LIBRARIES:${in_lib})
list(APPEND merge_libs $<TARGET_FILE:${lib}>)
endforeach()
endforeach()
add_custom_command(TARGET ${output_archive}
POST_BUILD

View file

@ -520,57 +520,19 @@ target_link_libraries(lokinet-plainquic PUBLIC
if(WITH_EMBEDDED_LOKINET)
include(GNUInstallDirs)
add_library(lokinet-shared SHARED lokinet_shared.cpp)
target_link_libraries(lokinet-shared PUBLIC lokinet-amalgum)
add_library(lokinet-embedded-api STATIC lokinet_shared.cpp)
lokinet_link_lib(lokinet-embedded-api)
if(WIN32)
set(CMAKE_SHARED_LIBRARY_PREFIX_CXX "")
endif()
set_target_properties(lokinet-shared PROPERTIES OUTPUT_NAME lokinet)
if(WIN32)
target_link_libraries(lokinet-shared PUBLIC ws2_32 iphlpapi -fstack-protector)
install(TARGETS lokinet-shared DESTINATION bin COMPONENT liblokinet)
elseif(NOT APPLE)
install(TARGETS lokinet-shared LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT liblokinet)
endif()
endif()
if(WITH_EMBEDDED_LOKINET)
add_library(lokinet-embedded-api STATIC lokinet_shared.cpp)
target_link_libraries(lokinet-embedded-api PUBLIC lokinet-amalgum)
combine_archives(lokinet-embedded
lokinet-embedded-api
lokinet-platform
lokinet-util
lokinet-cryptography
lokinet-amalgum
lokinet-config
lokinet-dns
ngtcp2_static
uv_a::uv_a
sodium
zlib
OpenSSL::SSL
OpenSSL::Crypto
expat
libunbound
libzmq
fmt::fmt
spdlog::spdlog
oxen::logging
oxenmq::oxenmq)
if(IOS)
set(lib_folder lib-${ARCH})
target_link_libraries(lokinet-embedded-api PUBLIC ws2_32 iphlpapi -fstack-protector)
install(TARGETS lokinet-embedded-api DESTINATION bin COMPONENT liblokinet)
else()
set(lib_folder lib)
get_target_property(embedded-libs lokinet-amalgum INTERFACE_LINK_LIBRARIES)
combine_archives(lokinet-embedded ${embedded-libs})
install(TARGETS lokinet-embedded LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT liblokinet)
endif()
install(TARGETS lokinet-embedded
ARCHIVE DESTINATION ${lib_folder}
EXCLUDE_FROM_ALL)
endif()
if(APPLE)
add_subdirectory(apple)
target_sources(lokinet-platform PRIVATE util/nop_service_manager.cpp)
endif()
file(GLOB_RECURSE docs_SRC */*.hpp *.hpp)