@@ -191,7 +191,7 @@ if(NOT DEFINED OTEL_CPP_INSTALLED_DIR)
191191 CMAKE_ARGS -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DWITH_OTLP_HTTP=${WITH_OTLP_HTTP} -DWITH_OTLP_GRPC=${WITH_OTLP_GRPC} -DBUILD_TESTING=OFF -DWITH_BENCHMARK=OFF -DOPENTELEMETRY_INSTALL=ON -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} -DCMAKE_CXX_STANDARD=${OTEL_CPP_CXX_STANDARD} -DVCPKG_INSTALLED_DIR=${VCPKG_INSTALLED_DIR}
192192 BUILD_BYPRODUCTS ${OTEL_CPP_LIBRARIES}
193193 INSTALL_DIR ${OTEL_CPP_PREFIX}
194- INSTALL_COMMAND ${CMAKE_COMMAND} --install . --prefix ${OTEL_CPP_PREFIX}
194+ INSTALL_COMMAND ${CMAKE_COMMAND} --install . --prefix ${OTEL_CPP_PREFIX} --config $<CONFIG>
195195 )
196196endif ()
197197
@@ -369,29 +369,30 @@ target_compile_features(${OPENTELEMETRY_PROXY_LIBRARY_NAME} PRIVATE cxx_std_17)
369369
370370if (WIN32 )
371371 # runtime dependent libraries
372- set (DEPENDS_BINDIR $<$<CONFIG:Debug>:debug/bin>$<$<CONFIG:Release>:bin>)
373- FILE (GLOB PROTOBUF_RUNTIME ${PROTOBUF_INCLUDE_DIRS} /../bin/*.dll)
374- FILE (GLOB ZLIB_RUNTIME ${ZLIB_INCLUDE_DIRS} /../bin/*. dll)
375-
376- set (OPENTELEMETRY_PROXY_RUNTIME_LIBRARIES ${PROTOBUF_RUNTIME }
377- ${ZLIB_RUNTIME } )
372+ # The TARGET_FILE generator command is somehow returning the .lib file instead of .dll for Protobuf and Zlib.
373+ # As a result, we have to hardcode those library names instead.
374+ set (PROTOBUF_DLL $<$<CONFIG:Debug>:libprotobufd.dll>$<$<CONFIG:Release>:libprotobuf. dll> )
375+ set (ZLIB_DLL $<$<CONFIG:Debug>:zlibd1.dll>$<$<CONFIG:Release>:zlib1.dll>)
376+ set (OPENTELEMETRY_PROXY_RUNTIME_LIBRARIES $<TARGET_FILE_DIR:protobuf::libprotobuf>/../bin/ ${PROTOBUF_DLL }
377+ $<TARGET_FILE_DIR:ZLIB::ZLIB>/../bin/ ${ZLIB_DLL } )
378378
379379 if (WITH_OTLP_HTTP)
380- FILE (GLOB CURL_RUNTIME ${CURL_INCLUDE_DIRS} /../bin/*.dll)
381380 set (OPENTELEMETRY_PROXY_RUNTIME_LIBRARIES ${OPENTELEMETRY_PROXY_RUNTIME_LIBRARIES}
382- ${CURL_RUNTIME} )
381+ $<TARGET_FILE:CURL::libcurl> )
383382 endif ()
384383
385384 if (WITH_OTLP_GRPC)
386- FILE (GLOB ABSEIL_RUNTIME ${ABSL_INCLUDE_DIRS} /../bin/*.dll)
387- FILE (GLOB C_ARES_RUNTIME ${C-ARES_INCLUDE_DIR}/../bin/*.dll)
388- FILE (GLOB OPENSSL_RUNTIME ${OPENSSL_INCLUDE_DIR} /../bin/*.dll)
389- FILE (GLOB RE2_RUNTIME ${RE2_INCLUDE_DIR} /../bin/*.dll)
385+ # The TARGET_FILE generator command fails to return the DLL libraries for Abseil and OpenSSL.
386+ # As a result, we have to hardcode those library names instead.
387+ set (ABSL_DLL abseil_dll.dll)
388+ set (OPENSSL_DLL libssl-3-x64.dll)
389+ set (OPENSSL_CRYPTO_DLL libcrypto-3-x64.dll)
390390 set (OPENTELEMETRY_PROXY_RUNTIME_LIBRARIES ${OPENTELEMETRY_PROXY_RUNTIME_LIBRARIES}
391- ${ABSEIL_RUNTIME}
392- ${C_ARES_RUNTIME}
393- ${OPENSSL_RUNTIME}
394- ${RE2_RUNTIME} )
391+ $<TARGET_FILE_DIR:c-ares::cares>/../bin/${ABSL_DLL}
392+ $<TARGET_FILE:c-ares::cares>
393+ $<TARGET_FILE_DIR:OpenSSL::SSL>/../bin/${OPENSSL_DLL}
394+ $<TARGET_FILE_DIR:OpenSSL::SSL>/../bin/${OPENSSL_CRYPTO_DLL}
395+ $<TARGET_FILE:re2::re2>)
395396 endif ()
396397elseif (UNIX AND NOT CYGWIN )
397398 if (WITH_OTLP_GRPC)
0 commit comments