@@ -470,9 +470,17 @@ elseif(NOT EPROSIMA_INSTALLER)
470
470
if (TARGET_TYPE STREQUAL "SHARED_LIBRARY" )
471
471
# Export symbols in DLL library
472
472
target_compile_definitions (${PROJECT_NAME} PUBLIC ${PROJECT_NAME_UPPER} _DYN_LINK )
473
+ set_target_properties (${PROJECT_NAME} PROPERTIES
474
+ PDB_NAME_DEBUG "${PROJECT_NAME} d-${PROJECT_VERSION_MAJOR} .${PROJECT_VERSION_MINOR} "
475
+ PDB_OUTPUT_DIRECTORY_DEBUG "${CMAKE_CURRENT_BINARY_DIR} /symbols"
476
+ )
473
477
else ()
474
478
# Rename the library to have a "lib" before.
475
479
set_target_properties (${PROJECT_NAME} PROPERTIES OUTPUT_NAME lib${PROJECT_NAME} )
480
+ set_target_properties (${PROJECT_NAME} PROPERTIES
481
+ COMPILE_PDB_NAME_DEBUG "lib${PROJECT_NAME} d-${PROJECT_VERSION_MAJOR} .${PROJECT_VERSION_MINOR} "
482
+ COMPILE_PDB_OUTPUT_DIRECTORY_DEBUG "${CMAKE_CURRENT_BINARY_DIR} /symbols"
483
+ )
476
484
endif ()
477
485
478
486
if ("${CMAKE_SYSTEM_NAME} " STREQUAL "WindowsStore" )
@@ -594,19 +602,26 @@ elseif(NOT EPROSIMA_INSTALLER)
594
602
)
595
603
596
604
if (MSVC OR MSVC_IDE )
597
- if (TARGET_TYPE STREQUAL "SHARED_LIBRARY" )
598
- # Install pdb files
599
- install (DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} /Debug/
600
- DESTINATION ${LIB_INSTALL_DIR}${MSVCARCH_DIR_EXTENSION}
601
- COMPONENT libraries${MSVCARCH_EXTENSION}
602
- CONFIGURATIONS Debug
603
- FILES_MATCHING
604
- PATTERN "*.pdb"
605
- )
605
+
606
+ # first try dll symbols
607
+ get_target_property (PDB_FILE ${PROJECT_NAME} PDB_NAME_DEBUG )
608
+ if (PDB_FILE )
609
+ get_target_property (PDB_DIR ${PROJECT_NAME} PDB_OUTPUT_DIRECTORY_DEBUG )
610
+ set (PDB_FILE "${PDB_DIR} /${PDB_FILE} .pdb" )
606
611
else ()
607
- install (FILES ${CMAKE_CURRENT_BINARY_DIR} /${PROJECT_NAME}.dir/Debug/${PROJECT_NAME}.pdb
612
+ # fallback to static lib symbols
613
+ get_target_property (PDB_FILE ${PROJECT_NAME} COMPILE_PDB_NAME_DEBUG )
614
+ if (PDB_FILE )
615
+ get_target_property (PDB_DIR ${PROJECT_NAME} COMPILE_PDB_OUTPUT_DIRECTORY_DEBUG )
616
+ set (PDB_FILE "${PDB_DIR} /${PDB_FILE} .pdb" )
617
+ endif ()
618
+ endif ()
619
+
620
+ # install symbols if any
621
+ if (PDB_FILE )
622
+ install (FILES ${PDB_FILE}
608
623
DESTINATION ${LIB_INSTALL_DIR}${MSVCARCH_DIR_EXTENSION}
609
- COMPONENT libraries${MSVCARCH_EXTENSION}
624
+ COMPONENT symbols
610
625
CONFIGURATIONS Debug
611
626
)
612
627
endif ()
0 commit comments