Skip to content

Commit bf4bf7b

Browse files
authored
[11498] updating scripts for CMake 3.17 (#1951)
* [11498] updating scripts to CMake upgrade * [11489] update package scripts for VS2019 * [11489] correcting CMake syntax * [11489] completely qualify symbols file
1 parent 7e12e8f commit bf4bf7b

File tree

2 files changed

+33
-12
lines changed

2 files changed

+33
-12
lines changed

cmake/packaging/windows/fastrtps-config.cmake

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,18 @@ if(MSVC_VERSION EQUAL 1900)
1818
else()
1919
include("${CMAKE_CURRENT_LIST_DIR}/../share/fastrtps-i86Win32VS2015/cmake/fastrtps-config.cmake")
2020
endif()
21-
elseif(MSVC_VERSION GREATER 1900)
21+
elseif(MSVC_VERSION LESS 1920)
2222
if(CMAKE_CL_64)
2323
include("${CMAKE_CURRENT_LIST_DIR}/../share/fastrtps-x64Win64VS2017/cmake/fastrtps-config.cmake")
2424
else()
2525
include("${CMAKE_CURRENT_LIST_DIR}/../share/fastrtps-i86Win32VS2017/cmake/fastrtps-config.cmake")
2626
endif()
27+
elseif(MSVC_VERSION GREATER_EQUAL 1920)
28+
if(CMAKE_CL_64)
29+
include("${CMAKE_CURRENT_LIST_DIR}/../share/fastrtps-x64Win64VS2019/cmake/fastrtps-config.cmake")
30+
else()
31+
include("${CMAKE_CURRENT_LIST_DIR}/../share/fastrtps-i86Win32VS2019/cmake/fastrtps-config.cmake")
32+
endif()
2733
else()
2834
message(FATAL_ERROR "Not supported version of Visual Studio")
2935
endif()

src/cpp/CMakeLists.txt

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -470,9 +470,17 @@ elseif(NOT EPROSIMA_INSTALLER)
470470
if(TARGET_TYPE STREQUAL "SHARED_LIBRARY")
471471
# Export symbols in DLL library
472472
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+
)
473477
else()
474478
# Rename the library to have a "lib" before.
475479
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+
)
476484
endif()
477485

478486
if("${CMAKE_SYSTEM_NAME}" STREQUAL "WindowsStore")
@@ -594,19 +602,26 @@ elseif(NOT EPROSIMA_INSTALLER)
594602
)
595603

596604
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")
606611
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}
608623
DESTINATION ${LIB_INSTALL_DIR}${MSVCARCH_DIR_EXTENSION}
609-
COMPONENT libraries${MSVCARCH_EXTENSION}
624+
COMPONENT symbols
610625
CONFIGURATIONS Debug
611626
)
612627
endif()

0 commit comments

Comments
 (0)