https://github.com/charles-zablit created https://github.com/llvm/llvm-project/pull/196109
None >From 96cf82f8ad4e1e41eef9abb05c7d05e698f32370 Mon Sep 17 00:00:00 2001 From: Charles Zablit <[email protected]> Date: Wed, 6 May 2026 17:20:07 +0100 Subject: [PATCH] [windows] refactor PDB file install target location --- clang/cmake/modules/AddClang.cmake | 10 +++++++--- lld/cmake/modules/AddLLD.cmake | 4 ++-- lldb/cmake/modules/AddLLDB.cmake | 10 ++++++++++ llvm/cmake/modules/AddLLVM.cmake | 17 +++++++++++------ 4 files changed, 30 insertions(+), 11 deletions(-) diff --git a/clang/cmake/modules/AddClang.cmake b/clang/cmake/modules/AddClang.cmake index e2112d7c326e2..e7b494ece8a03 100644 --- a/clang/cmake/modules/AddClang.cmake +++ b/clang/cmake/modules/AddClang.cmake @@ -137,7 +137,11 @@ macro(add_clang_library name) LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") - + if (MSVC) + install(FILES $<TARGET_FILE_DIR:${lib}>/$<TARGET_FILE_BASE_NAME:${lib}>.pdb + DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT ${lib} + OPTIONAL) + endif() if (NOT LLVM_ENABLE_IDE) add_llvm_install_targets(install-${lib} DEPENDS ${lib} @@ -186,8 +190,8 @@ macro(add_clang_tool name) RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT ${name}) - if (LLVM_ENABLE_PDB) - install(FILES $<TARGET_PDB_FILE:${name}> DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT ${name} OPTIONAL) + if (MSVC) + install(FILES $<TARGET_FILE_DIR:${name}>/$<TARGET_FILE_BASE_NAME:${name}>.pdb DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT ${name} OPTIONAL) endif() if(NOT LLVM_ENABLE_IDE) diff --git a/lld/cmake/modules/AddLLD.cmake b/lld/cmake/modules/AddLLD.cmake index 37f73afa915f4..7f308376087a2 100644 --- a/lld/cmake/modules/AddLLD.cmake +++ b/lld/cmake/modules/AddLLD.cmake @@ -58,8 +58,8 @@ macro(add_lld_tool name) RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT ${name}) - if (LLVM_ENABLE_PDB) - install(FILES $<TARGET_PDB_FILE:${name}> DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT ${name} OPTIONAL) + if (MSVC) + install(FILES $<TARGET_FILE_DIR:${name}>/$<TARGET_FILE_BASE_NAME:${name}>.pdb DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT ${name} OPTIONAL) endif() if(NOT CMAKE_CONFIGURATION_TYPES) diff --git a/lldb/cmake/modules/AddLLDB.cmake b/lldb/cmake/modules/AddLLDB.cmake index 93b6bd2740abb..edd32b6d0fc8b 100644 --- a/lldb/cmake/modules/AddLLDB.cmake +++ b/lldb/cmake/modules/AddLLDB.cmake @@ -119,6 +119,11 @@ function(add_lldb_library name) LIBRARY DESTINATION ${install_dest} ARCHIVE DESTINATION ${install_dest} FRAMEWORK DESTINATION ${install_dest}) + if (MSVC) + install(FILES $<TARGET_FILE_DIR:${name}>/$<TARGET_FILE_BASE_NAME:${name}>.pdb + DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT ${name} + OPTIONAL) + endif() if (NOT CMAKE_CONFIGURATION_TYPES) add_llvm_install_targets(install-${name} DEPENDS ${name} @@ -216,6 +221,11 @@ function(add_lldb_executable name) LIBRARY DESTINATION ${install_dest} BUNDLE DESTINATION ${install_dest} FRAMEWORK DESTINATION ${install_dest}) + if (MSVC) + install(FILES $<TARGET_FILE_DIR:${name}>/$<TARGET_FILE_BASE_NAME:${name}>.pdb + DESTINATION ${install_dest} COMPONENT ${name} + OPTIONAL) + endif() if (NOT CMAKE_CONFIGURATION_TYPES) add_llvm_install_targets(install-${name} DEPENDS ${name} diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake index 28858db434f91..628f86687af96 100644 --- a/llvm/cmake/modules/AddLLVM.cmake +++ b/llvm/cmake/modules/AddLLVM.cmake @@ -1057,6 +1057,11 @@ macro(add_llvm_library name) LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT ${name} ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT ${name} RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT ${name}) + if (MSVC) + install(FILES $<TARGET_FILE_DIR:${name}>/$<TARGET_FILE_BASE_NAME:${name}>.pdb + DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT ${name} + OPTIONAL) + endif() if (NOT LLVM_ENABLE_IDE) add_llvm_install_targets(install-${name} @@ -1614,8 +1619,8 @@ macro(llvm_add_tool project name) ${export_to_llvmexports} RUNTIME DESTINATION ${${project}_TOOLS_INSTALL_DIR} COMPONENT ${name}) - if (LLVM_ENABLE_PDB) - install(FILES $<TARGET_PDB_FILE:${name}> + if (MSVC) + install(FILES $<TARGET_FILE_DIR:${name}>/$<TARGET_FILE_BASE_NAME:${name}>.pdb DESTINATION "${${project}_TOOLS_INSTALL_DIR}" COMPONENT ${name} OPTIONAL) endif() @@ -1649,8 +1654,8 @@ macro(add_llvm_example name) add_llvm_executable(${name} EXPORT_SYMBOLS ${ARGN}) if( LLVM_BUILD_EXAMPLES ) install(TARGETS ${name} RUNTIME DESTINATION "${LLVM_EXAMPLES_INSTALL_DIR}") - if (LLVM_ENABLE_PDB) - install(FILES $<TARGET_PDB_FILE:${name}> + if (MSVC) + install(FILES $<TARGET_FILE_DIR:${name}>/$<TARGET_FILE_BASE_NAME:${name}>.pdb DESTINATION "${LLVM_EXAMPLES_INSTALL_DIR}" COMPONENT ${name} OPTIONAL) endif() @@ -1688,8 +1693,8 @@ macro(add_llvm_utility name) ${export_to_llvmexports} RUNTIME DESTINATION ${LLVM_UTILS_INSTALL_DIR} COMPONENT ${name}) - if (LLVM_ENABLE_PDB) - install(FILES $<TARGET_PDB_FILE:${name}> + if (MSVC) + install(FILES $<TARGET_FILE_DIR:${name}>/$<TARGET_FILE_BASE_NAME:${name}>.pdb DESTINATION "${LLVM_UTILS_INSTALL_DIR}" COMPONENT ${name} OPTIONAL) endif() _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
