# vtour builds this helper from the same sources as standalone vdrive. It uses
# the host's pinned HTTP/JSON/Mbed TLS dependencies, like its Git helper.
add_executable(vtour_vdrive_client client.cpp)
set_target_properties(vtour_vdrive_client PROPERTIES OUTPUT_NAME vdrive)
target_compile_features(vtour_vdrive_client PRIVATE cxx_std_17)
target_include_directories(vtour_vdrive_client PRIVATE
  "${httplib_SOURCE_DIR}" "${json_SOURCE_DIR}/single_include/nlohmann")
target_compile_definitions(vtour_vdrive_client PRIVATE
  VDRIVE_MBEDTLS CPPHTTPLIB_MBEDTLS_SUPPORT
  MBEDTLS_USER_CONFIG_FILE="${CMAKE_SOURCE_DIR}/cmake/ssh/mbedtls-user.h")
target_link_libraries(vtour_vdrive_client PRIVATE mbedtls mbedx509 mbedcrypto Threads::Threads)
if(WIN32)
  target_compile_definitions(vtour_vdrive_client PRIVATE _WIN32_WINNT=0x0A00 WINVER=0x0A00 NOMINMAX WIN32_LEAN_AND_MEAN)
  target_link_libraries(vtour_vdrive_client PRIVATE ws2_32 crypt32 shell32)
endif()
if(APPLE)
  target_compile_definitions(vtour_vdrive_client PRIVATE CPPHTTPLIB_USE_CERTS_FROM_MACOSX_KEYCHAIN)
  target_link_libraries(vtour_vdrive_client PRIVATE "-framework Security" "-framework CoreFoundation")
endif()
if(MSVC OR CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "MSVC")
  target_compile_options(vtour_vdrive_client PRIVATE /utf-8 /EHsc)
endif()
