# Copyright (c) Meta Platforms, Inc. and affiliates.
# All rights reserved.
#
# This source code is licensed under the BSD-style license found in the
# LICENSE file in the root directory of this source tree.

if (BUILD_QUIC)
  add_library(libhttperf2 HTTPerf2.cpp Client.cpp)
  target_include_directories(
      libhttperf2 PUBLIC
      $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
  )
  target_compile_options(
      libhttperf2 PRIVATE
      ${_PROXYGEN_COMMON_COMPILE_OPTIONS}
  )

  if (BUILD_SHARED_LIBS)
      set_property(TARGET libhttperf2 PROPERTY POSITION_INDEPENDENT_CODE ON)
      if (DEFINED PACKAGE_VERSION)
          set_target_properties(
              libhttperf2 PROPERTIES VERSION ${PACKAGE_VERSION}
          )
      endif()
  endif()

  target_link_libraries(libhttperf2 PUBLIC proxygen)

  install(
      TARGETS libhttperf2
      EXPORT proxygen-exports
      ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
      LIBRARY DESTINATION ${LIB_INSTALL_DIR}
  )

  add_executable(proxygen_httperf2 Main.cpp)
  target_link_libraries(
      proxygen_httperf2 PUBLIC
      libhttperf2
      proxygenhqloggerhelper
  )
  target_compile_options(
      proxygen_httperf2 PRIVATE
      ${_PROXYGEN_COMMON_COMPILE_OPTIONS}
  )

  install(
      TARGETS proxygen_httperf2
      EXPORT proxygen-exports
      DESTINATION bin
  )
endif()
