92 lines
3.3 KiB
CMake
92 lines
3.3 KiB
CMake
if ((CMAKE_MAJOR_VERSION LESS 3) OR (CMAKE_VERSION VERSION_LESS "3.0.2"))
|
|
message(FATAL_ERROR "CMake >= 3.0.2 is required")
|
|
endif()
|
|
|
|
if (NOT OPENSSL_FOUND)
|
|
find_package(OpenSSL REQUIRED)
|
|
find_package(ZLIB REQUIRED)
|
|
endif()
|
|
|
|
#TODO: all benchmarks in one file
|
|
add_executable(bench_crypto bench_crypto.cpp)
|
|
target_link_libraries(bench_crypto PRIVATE tdutils ${OPENSSL_CRYPTO_LIBRARY} ${CMAKE_DL_LIBS} ${ZLIB_LIBRARIES})
|
|
if (WIN32)
|
|
if (MINGW)
|
|
target_link_libraries(bench_crypto PRIVATE ws2_32 mswsock crypt32)
|
|
else()
|
|
target_link_libraries(bench_crypto PRIVATE ws2_32 Mswsock Crypt32)
|
|
endif()
|
|
endif()
|
|
target_include_directories(bench_crypto SYSTEM PRIVATE ${OPENSSL_INCLUDE_DIR})
|
|
|
|
add_executable(bench_actor bench_actor.cpp)
|
|
target_link_libraries(bench_actor PRIVATE tdactor tdutils)
|
|
|
|
add_executable(bench_http bench_http.cpp)
|
|
target_link_libraries(bench_http PRIVATE tdnet tdutils)
|
|
|
|
add_executable(bench_http_server bench_http_server.cpp)
|
|
target_link_libraries(bench_http_server PRIVATE tdnet tdutils)
|
|
|
|
add_executable(bench_http_server_cheat bench_http_server_cheat.cpp)
|
|
target_link_libraries(bench_http_server_cheat PRIVATE tdnet tdutils)
|
|
|
|
add_executable(bench_http_server_fast bench_http_server_fast.cpp)
|
|
target_link_libraries(bench_http_server_fast PRIVATE tdnet tdutils)
|
|
|
|
add_executable(bench_http_reader bench_http_reader.cpp)
|
|
target_link_libraries(bench_http_reader PRIVATE tdnet tdutils)
|
|
|
|
add_executable(bench_handshake bench_handshake.cpp)
|
|
target_link_libraries(bench_handshake PRIVATE tdcore tdutils)
|
|
|
|
add_executable(bench_db bench_db.cpp)
|
|
target_link_libraries(bench_db PRIVATE tdactor tddb tdutils)
|
|
|
|
add_executable(bench_tddb bench_tddb.cpp)
|
|
target_link_libraries(bench_tddb PRIVATE tdcore tddb tdutils)
|
|
|
|
add_executable(bench_misc bench_misc.cpp)
|
|
target_link_libraries(bench_misc PRIVATE tdcore tdutils)
|
|
|
|
add_executable(check_proxy check_proxy.cpp)
|
|
target_link_libraries(check_proxy PRIVATE tdclient tdutils)
|
|
|
|
add_executable(check_tls check_tls.cpp)
|
|
target_link_libraries(check_tls PRIVATE tdutils)
|
|
|
|
add_executable(rmdir rmdir.cpp)
|
|
target_link_libraries(rmdir PRIVATE tdutils)
|
|
|
|
add_executable(wget wget.cpp)
|
|
target_link_libraries(wget PRIVATE tdnet tdutils)
|
|
|
|
add_executable(bench_empty bench_empty.cpp)
|
|
target_link_libraries(bench_empty PRIVATE tdutils)
|
|
|
|
if (NOT WIN32 AND NOT CYGWIN)
|
|
add_executable(bench_log bench_log.cpp)
|
|
target_link_libraries(bench_log PRIVATE tdutils)
|
|
|
|
set_source_files_properties(bench_queue.cpp PROPERTIES COMPILE_FLAGS -Wno-deprecated-declarations)
|
|
add_executable(bench_queue bench_queue.cpp)
|
|
target_link_libraries(bench_queue PRIVATE tdutils)
|
|
endif()
|
|
|
|
find_package(ABSL QUIET)
|
|
find_package(folly QUIET)
|
|
find_package(gflags QUIET)
|
|
|
|
if (ABSL_FOUND AND folly_FOUND)
|
|
add_executable(memory-hashset-memprof EXCLUDE_FROM_ALL hashset_memory.cpp)
|
|
target_compile_definitions(memory-hashset-memprof PRIVATE USE_MEMPROF=1)
|
|
target_link_libraries(memory-hashset-memprof PRIVATE tdutils memprof_stat Folly::folly absl::flat_hash_map absl::hash)
|
|
|
|
add_executable(memory-hashset-os hashset_memory.cpp)
|
|
target_compile_definitions(memory-hashset-os PRIVATE USE_MEMPROF=0)
|
|
target_link_libraries(memory-hashset-os PRIVATE tdutils Folly::folly absl::flat_hash_map absl::hash)
|
|
|
|
add_executable(hashmap-build hashmap_build.cpp)
|
|
target_link_libraries(hashmap-build PRIVATE tdutils Folly::folly absl::flat_hash_map absl::hash)
|
|
endif()
|