mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-03 04:10:05 -06:00
Fix COMPILE_PDB_NAME when used on an OBJECT library
When `COMPILE_PDB_NAME` is used without `COMPILE_PDB_OUTPUT_DIRECTORY` we cannot fall back on the link `PDB_OUTPUT_DIRECTORY` for an object library because it has no link step. Fixes: #16674
This commit is contained in:
@@ -1147,7 +1147,7 @@ std::string cmGeneratorTarget::GetCompilePDBPath(
|
|||||||
{
|
{
|
||||||
std::string dir = this->GetCompilePDBDirectory(config);
|
std::string dir = this->GetCompilePDBDirectory(config);
|
||||||
std::string name = this->GetCompilePDBName(config);
|
std::string name = this->GetCompilePDBName(config);
|
||||||
if (dir.empty() && !name.empty()) {
|
if (dir.empty() && !name.empty() && this->HaveWellDefinedOutputFiles()) {
|
||||||
dir = this->GetPDBDirectory(config);
|
dir = this->GetPDBDirectory(config);
|
||||||
}
|
}
|
||||||
if (!dir.empty()) {
|
if (!dir.empty()) {
|
||||||
|
|||||||
@@ -21,3 +21,4 @@ add_custom_command(
|
|||||||
|
|
||||||
add_library(A OBJECT a1.c a2.c a.cmake)
|
add_library(A OBJECT a1.c a2.c a.cmake)
|
||||||
target_include_directories(A PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
|
target_include_directories(A PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
set_property(TARGET A PROPERTY COMPILE_PDB_NAME Apdb)
|
||||||
|
|||||||
Reference in New Issue
Block a user