Skip to content

Commit c59200e

Browse files
authored
Merge pull request #119 from mathworks/debugbuild
Enable debug build
2 parents 5f50200 + 8857ccf commit c59200e

File tree

1 file changed

+18
-17
lines changed

1 file changed

+18
-17
lines changed

CMakeLists.txt

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -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
)
196196
endif()
197197

@@ -369,29 +369,30 @@ target_compile_features(${OPENTELEMETRY_PROXY_LIBRARY_NAME} PRIVATE cxx_std_17)
369369

370370
if(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()
396397
elseif(UNIX AND NOT CYGWIN)
397398
if(WITH_OTLP_GRPC)

0 commit comments

Comments
 (0)