@@ -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