[Clang][CMake][MSVC] Install PDBs alongside executables (#126961)

Fixes the changes introduced in
https://github.com/llvm/llvm-project/pull/126675 and subsequently
reverted by https://github.com/llvm/llvm-project/pull/126934 .

Originally, I mistakenly put the `install` in the wrong location (should
have been in the `add_clang_tool` macro) which slipped through testing.
I've verified locally using the same CMake configure options.


For reference:
* **CMake Configure**
```
 cmake -B build -S llvm -GNinja -DLLVM_ENABLE_PROJECTS="llvm;clang;lld;compiler-rt" -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PDB=ON -DLLVM_ENABLE_ASSERTIONS=ON -DLLVM_TARGETS_TO_BUILD=X86 -DCMAKE_C_COMPILER=cl -DCMAKE_CXX_COMPILER=cl
```
* **Error**
```
TARGET_PDB_FILE is allowed only for targets with linker created artifacts.
```
This commit is contained in:
Miguel A. Arroyo 2025-05-23 12:58:56 -07:00 committed by GitHub
parent e100f54a03
commit 795e889037
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -186,6 +186,10 @@ macro(add_clang_tool name)
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
COMPONENT ${name}) COMPONENT ${name})
if (LLVM_ENABLE_PDB)
install(FILES $<TARGET_PDB_FILE:${name}> DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT ${name} OPTIONAL)
endif()
if(NOT LLVM_ENABLE_IDE) if(NOT LLVM_ENABLE_IDE)
add_llvm_install_targets(install-${name} add_llvm_install_targets(install-${name}
DEPENDS ${name} DEPENDS ${name}