diff options
author | Brad King <brad.king@kitware.com> | 2016-11-30 15:20:52 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2016-11-30 15:26:31 (GMT) |
commit | a4da6fa71dc0e0e6102d4b72f7abee00ac4e4110 (patch) | |
tree | b40de333991ed1aaa1936f52e8aed7d8483f9ff8 /Source/cmNinjaTargetGenerator.cxx | |
parent | afe7d5f26d16a76d26ac361d7a41a5119d20dd11 (diff) | |
download | CMake-a4da6fa71dc0e0e6102d4b72f7abee00ac4e4110.zip CMake-a4da6fa71dc0e0e6102d4b72f7abee00ac4e4110.tar.gz CMake-a4da6fa71dc0e0e6102d4b72f7abee00ac4e4110.tar.bz2 |
Ninja,Makefile: Name static library compile PDB files as VS does
Change the default compile PDB file name for static libraries to match
the Visual Studio default of using the logical target name. This may be
incompatible with existing behavior but `COMPILE_PDB_NAME` documents
that the default is unspecified. Projects depending on a particular
name should set the property.
Closes: #16438
Diffstat (limited to 'Source/cmNinjaTargetGenerator.cxx')
-rw-r--r-- | Source/cmNinjaTargetGenerator.cxx | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/Source/cmNinjaTargetGenerator.cxx b/Source/cmNinjaTargetGenerator.cxx index e47de97..8090542 100644 --- a/Source/cmNinjaTargetGenerator.cxx +++ b/Source/cmNinjaTargetGenerator.cxx @@ -359,7 +359,14 @@ bool cmNinjaTargetGenerator::SetMsvcTargetPdbVariable(cmNinjaVars& vars) const compilePdbPath = this->GeneratorTarget->GetCompilePDBPath(this->GetConfigName()); if (compilePdbPath.empty()) { + // Match VS default: `$(IntDir)vc$(PlatformToolsetVersion).pdb`. + // A trailing slash tells the toolchain to add its default file name. compilePdbPath = this->GeneratorTarget->GetSupportDirectory() + "/"; + if (this->GeneratorTarget->GetType() == cmStateEnums::STATIC_LIBRARY) { + // Match VS default for static libs: `$(IntDir)$(ProjectName).pdb`. + compilePdbPath += this->GeneratorTarget->GetName(); + compilePdbPath += ".pdb"; + } } } |