1
1
Fork 0
mirror of https://github.com/oxen-io/lokinet synced 2023-12-14 06:53:00 +01:00
lokinet/llarp/CMakeLists.txt

236 lines
5.7 KiB
CMake
Raw Normal View History

include(Version)
set(LIB_UTIL_SRC
config/config.cpp
config/ini.cpp
2019-11-22 04:57:41 +01:00
config/key_manager.cpp
2019-08-12 13:20:57 +02:00
constants/limits.cpp
${CMAKE_CURRENT_BINARY_DIR}/constants/version.cpp
util/bencode.cpp
util/buffer.cpp
util/encode.cpp
util/fs.cpp
2019-02-16 00:04:04 +01:00
util/json.cpp
2019-09-01 14:10:49 +02:00
util/logging/android_logger.cpp
util/logging/file_logger.cpp
util/logging/json_logger.cpp
util/logging/logger.cpp
util/logging/logger_internal.cpp
2019-09-01 14:10:49 +02:00
util/logging/loglevel.cpp
util/logging/ostream_logger.cpp
util/logging/syslog_logger.cpp
util/logging/win32_logger.cpp
util/lokinet_init.c
util/mem.cpp
2019-03-21 00:18:32 +01:00
util/printer.cpp
util/str.cpp
2019-09-01 15:26:16 +02:00
util/thread/logic.cpp
util/thread/queue_manager.cpp
util/thread/thread_pool.cpp
util/thread/threading.cpp
util/thread/threadpool.cpp
util/time.cpp
)
add_library(${UTIL_LIB} STATIC ${LIB_UTIL_SRC})
add_dependencies(${UTIL_LIB} genversion)
2019-12-26 19:06:02 +01:00
target_include_directories(${UTIL_LIB} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${PROJECT_SOURCE_DIR}/include ${CURL_INCLUDE_DIRS})
if(ANDROID)
set(LOG_LIB log)
endif()
2019-12-26 20:56:17 +01:00
target_link_libraries(${UTIL_LIB} PUBLIC ${CRYPTOGRAPHY_LIB} ${LOG_LIB} ${CURL_LIBRARIES})
target_link_libraries(${UTIL_LIB} PUBLIC
nlohmann_json::nlohmann_json
ghc_filesystem
optional-lite
date::date
)
2019-02-11 01:02:20 +01:00
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
set(ISOLATE_PROC_SRC linux/netns.cpp)
endif()
set(LIB_PLATFORM_SRC
# for networking
ev/ev.cpp
2019-04-08 14:01:52 +02:00
ev/pipe.cpp
ev/vpnio.cpp
ev/ev_libuv.cpp
2019-06-11 18:44:05 +02:00
net/ip.cpp
net/net.cpp
net/net_addr.cpp
2019-06-11 18:44:05 +02:00
net/net_int.cpp
# for android shim
${ANDROID_PLATFORM_SRC}
# process isolation implementation
${ISOLATE_PROC_SRC}
# tun
${LIBTUNTAP_SRC}
${EV_SRC}
)
if (WIN32)
2019-06-12 15:20:00 +02:00
set(LIB_PLATFORM_SRC
2019-12-11 22:31:49 +01:00
ev/ev_win32.cpp
2019-06-12 15:20:00 +02:00
${LIB_PLATFORM_SRC}
win32/win32_inet.c
win32/win32_intrnl.c)
endif(WIN32)
add_library(${PLATFORM_LIB} STATIC ${LIB_PLATFORM_SRC})
target_link_libraries(${PLATFORM_LIB} PUBLIC ${CRYPTOGRAPHY_LIB} ${UTIL_LIB} Threads::Threads ${LIBS})
2019-02-11 01:02:20 +01:00
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
if(NON_PC_TARGET)
add_import_library(rt)
target_link_libraries(${PLATFORM_LIB} PUBLIC rt)
endif()
endif()
if(WIN32)
2019-02-14 01:22:21 +01:00
target_link_libraries(${PLATFORM_LIB} PUBLIC iphlpapi)
2019-02-11 01:02:20 +01:00
endif()
set(DNSLIB_SRC
dns/message.cpp
dns/name.cpp
dns/question.cpp
dns/rr.cpp
dns/serialize.cpp
dns/server.cpp
)
2020-01-21 18:31:48 +01:00
set(CONSENSUS_SRC
consensus/table.cpp
)
set(LIB_SRC
2020-01-21 18:31:48 +01:00
${CONSENSUS_SRC}
${DNSLIB_SRC}
bootstrap.cpp
context.cpp
crypto/crypto_libsodium.cpp
crypto/crypto.cpp
crypto/encrypted_frame.cpp
crypto/types.cpp
dht/context.cpp
dht/dht.cpp
dht/explorenetworkjob.cpp
dht/localtaglookup.cpp
dht/localrouterlookup.cpp
dht/localserviceaddresslookup.cpp
dht/message.cpp
dht/messages/findintro.cpp
dht/messages/findrouter.cpp
dht/messages/gotintro.cpp
dht/messages/gotrouter.cpp
dht/messages/pubintro.cpp
dht/publishservicejob.cpp
dht/recursiverouterlookup.cpp
dht/serviceaddresslookup.cpp
dht/taglookup.cpp
exit/context.cpp
exit/endpoint.cpp
2019-06-15 16:55:14 +02:00
exit/exit_messages.cpp
exit/policy.cpp
exit/session.cpp
handlers/exit.cpp
handlers/tun.cpp
hook/shell.cpp
2019-03-29 16:17:49 +01:00
iwp/iwp.cpp
2019-08-22 22:53:27 +02:00
iwp/linklayer.cpp
iwp/message_buffer.cpp
iwp/session.cpp
2019-08-07 18:33:29 +02:00
link/factory.cpp
link/link_manager.cpp
link/server.cpp
messages/dht_immediate.cpp
messages/link_intro.cpp
2019-06-15 16:55:13 +02:00
messages/link_message_parser.cpp
messages/relay.cpp
messages/relay_commit.cpp
messages/relay_status.cpp
net/address_info.cpp
net/exit_info.cpp
nodedb.cpp
2019-06-18 01:19:39 +02:00
path/ihophandler.cpp
path/path_context.cpp
path/path.cpp
path/pathbuilder.cpp
path/pathset.cpp
path/transit_hop.cpp
pow.cpp
profiling.cpp
router/outbound_message_handler.cpp
router/outbound_session_maker.cpp
router/rc_lookup_handler.cpp
2020-01-30 18:23:16 +01:00
router/rc_gossiper.cpp
router/router.cpp
router_contact.cpp
router_id.cpp
2020-01-25 17:28:07 +01:00
router_version.cpp
routing/dht_message.cpp
routing/message_parser.cpp
2019-06-20 00:30:07 +02:00
routing/path_confirm_message.cpp
routing/path_latency_message.cpp
routing/path_transfer_message.cpp
routing/transfer_traffic_message.cpp
rpc/rpc.cpp
service/address.cpp
service/async_key_exchange.cpp
service/config.cpp
service/context.cpp
service/endpoint_state.cpp
service/endpoint_util.cpp
service/endpoint.cpp
service/hidden_service_address_lookup.cpp
service/identity.cpp
service/info.cpp
service/intro_set.cpp
service/intro.cpp
service/lookup.cpp
service/outbound_context.cpp
service/protocol.cpp
service/router_lookup_job.cpp
2019-04-19 18:02:32 +02:00
service/sendcontext.cpp
service/session.cpp
service/tag_lookup_job.cpp
service/tag.cpp
)
2019-02-11 01:02:20 +01:00
if(TESTNET)
2019-03-11 14:01:53 +01:00
set(LIB_SRC ${LIB_SRC} testnet.c)
2019-02-11 01:02:20 +01:00
endif()
2019-03-11 14:01:53 +01:00
add_library(${STATIC_LIB} STATIC ${LIB_SRC})
2019-12-26 19:06:02 +01:00
target_include_directories(${STATIC_LIB} PUBLIC ${CURL_INCLUDE_DIRS})
2019-12-26 20:56:17 +01:00
target_link_libraries(${STATIC_LIB} PUBLIC cxxopts ${ABYSS_LIB} ${PLATFORM_LIB} ${UTIL_LIB} ${CRYPTOGRAPHY_LIB})
2019-03-11 14:01:53 +01:00
2019-06-10 18:26:19 +02:00
if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
2019-06-10 18:27:36 +02:00
target_include_directories(${PLATFORM_LIB} SYSTEM PUBLIC /usr/local/include)
2019-06-10 18:26:19 +02:00
target_include_directories(${STATIC_LIB} SYSTEM PUBLIC /usr/local/include)
endif()
2019-02-11 01:02:20 +01:00
if(WITH_SHARED)
add_library(${SHARED_LIB} SHARED ${LIB_SRC})
2019-03-11 14:01:53 +01:00
set(LIBS ${LIBS} Threads::Threads)
target_link_libraries(${SHARED_LIB} PUBLIC ${ABYSS_LIB} ${CRYPTOGRAPHY_LIB} ${UTIL_LIB} ${PLATFORM_LIB} ${LIBS})
2019-02-11 01:02:20 +01:00
if (WIN32)
2019-12-12 20:58:46 +01:00
target_link_libraries(${SHARED_LIB} PUBLIC ws2_32 iphlpapi)
2019-02-11 01:02:20 +01:00
else()
install(TARGETS ${SHARED_LIB} LIBRARY DESTINATION lib)
endif()
2019-02-15 21:49:10 +01:00
add_log_tag(${SHARED_LIB})
2019-02-11 01:02:20 +01:00
endif()
2019-02-15 21:49:10 +01:00
if (WARNINGS_AS_ERRORS)
set(WARN_FLAGS -Wall -Wextra -Werror)
target_compile_options(${UTIL_LIB} PUBLIC ${WARN_FLAGS})
target_compile_options(${PLATFORM_LIB} PUBLIC ${WARN_FLAGS})
target_compile_options(${STATIC_LIB} PUBLIC ${WARN_FLAGS})
endif()
2019-02-15 21:49:10 +01:00
add_log_tag(${UTIL_LIB})
add_log_tag(${PLATFORM_LIB})
add_log_tag(${STATIC_LIB})