diff options
author | Peter Kümmel <syntheticpp@gmx.net> | 2012-07-17 09:21:03 (GMT) |
---|---|---|
committer | Peter Kümmel <syntheticpp@gmx.net> | 2012-07-17 09:21:03 (GMT) |
commit | 75bbffbe1b66070df8ac68f1d8b556e7cb0d087c (patch) | |
tree | 7efa6470862951b2ae07672a4b5b38ada1f00ad9 /Source/cmNinjaNormalTargetGenerator.cxx | |
parent | e5a27a44a7a400e62a5f64450ae2c4d3d2b91e5c (diff) | |
download | CMake-75bbffbe1b66070df8ac68f1d8b556e7cb0d087c.zip CMake-75bbffbe1b66070df8ac68f1d8b556e7cb0d087c.tar.gz CMake-75bbffbe1b66070df8ac68f1d8b556e7cb0d087c.tar.bz2 |
Ninja: make TARGET_PDB a real .gdb file name
Diffstat (limited to 'Source/cmNinjaNormalTargetGenerator.cxx')
-rw-r--r-- | Source/cmNinjaNormalTargetGenerator.cxx | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/Source/cmNinjaNormalTargetGenerator.cxx b/Source/cmNinjaNormalTargetGenerator.cxx index 265b28a..6d13a9a 100644 --- a/Source/cmNinjaNormalTargetGenerator.cxx +++ b/Source/cmNinjaNormalTargetGenerator.cxx @@ -174,7 +174,14 @@ cmNinjaNormalTargetGenerator } vars.ObjectDir = "$OBJECT_DIR"; + + // TODO: + // Makefile generator expands <TARGET> to the plain target name + // with suffix. $out expands to a relative path. This difference + // could make trouble when switching to Ninja generator. Maybe + // using TARGET_NAME and RuleVariables::TargetName is a fix. vars.Target = "$out"; + vars.SONameFlag = "$SONAME_FLAG"; vars.TargetSOName = "$SONAME"; vars.TargetInstallNameDir = "$INSTALLNAME_DIR"; @@ -423,7 +430,6 @@ void cmNinjaNormalTargetGenerator::WriteLinkStatement() EnsureParentDirectoryExists(path); } - // TODO move to GetTargetPDB cmMakefile* mf = this->GetMakefile(); if (mf->GetDefinition("MSVC_C_ARCHITECTURE_ID") || mf->GetDefinition("MSVC_CXX_ARCHITECTURE_ID")) @@ -438,10 +444,10 @@ void cmNinjaNormalTargetGenerator::WriteLinkStatement() { // It is common to place debug symbols at a specific place, // so we need a plain target name in the rule available. - // TODO: Makefile generator could use <TARGET> because it expands - // to the plain target name, here it expands to a relative path. - // This difference could make trouble when switching to Ninja generator. - vars["TARGET_PDB"] = std::string(this->GetTarget()->GetName()); + std::string base; + std::string suffix; + this->GetTarget()->GetFullNameComponents(std::string(), base, suffix); + vars["TARGET_PDB"] = base + suffix + ".gdb"; } if (mf->IsOn("CMAKE_COMPILER_IS_MINGW")) |