summaryrefslogtreecommitdiffstats
path: root/Source/cmTarget.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2014-02-24 19:15:21 (GMT)
committerBrad King <brad.king@kitware.com>2014-02-26 14:34:38 (GMT)
commitfba51b096e2d8ec281653aa05720c11dc9b9bfe6 (patch)
tree8fdcb3374e5684c739389cb98c554b0727c9e74f /Source/cmTarget.h
parent3737860a383b1020f44a31be9ac5536e9913fc71 (diff)
downloadCMake-fba51b096e2d8ec281653aa05720c11dc9b9bfe6.zip
CMake-fba51b096e2d8ec281653aa05720c11dc9b9bfe6.tar.gz
CMake-fba51b096e2d8ec281653aa05720c11dc9b9bfe6.tar.bz2
MSVC: Add properties to configure compiler PDB files (#14762)
Since commit v2.8.12~437^2~2 (VS: Separate compiler and linker PDB files 2013-04-05) we no longer set /Fd with the PDB_NAME or PDB_OUTPUT_DIRECTORY properties. Those properties now exclusively handle linker PDB files. Since STATIC libraries do not link their compiler PDB file becomes more important. Add new target properties "COMPILE_PDB_NAME[_<CONFIG>]" and "COMPILE_PDB_OUTPUT_DIRECTORY[_<CONFIG>]" to specify the compiler PDB file location and pass the value to the MSVC /Fd option.
Diffstat (limited to 'Source/cmTarget.h')
-rw-r--r--Source/cmTarget.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/Source/cmTarget.h b/Source/cmTarget.h
index 6787706..a3f544c 100644
--- a/Source/cmTarget.h
+++ b/Source/cmTarget.h
@@ -342,6 +342,12 @@ public:
pdb output directory is given. */
std::string GetPDBDirectory(const char* config) const;
+ /** Get the directory in which to place the target compiler .pdb file.
+ If the configuration name is given then the generator will add its
+ subdirectory for that configuration. Otherwise just the canonical
+ compiler pdb output directory is given. */
+ std::string GetCompilePDBDirectory(const char* config = 0) const;
+
/** Get the location of the target in the build tree for the given
configuration. This location is suitable for use as the LOCATION
target property. */
@@ -377,6 +383,12 @@ public:
/** Get the name of the pdb file for the target. */
std::string GetPDBName(const char* config) const;
+ /** Get the name of the compiler pdb file for the target. */
+ std::string GetCompilePDBName(const char* config=0) const;
+
+ /** Get the path for the MSVC /Fd option for this target. */
+ std::string GetCompilePDBPath(const char* config=0) const;
+
/** Whether this library has soname enabled and platform supports it. */
bool HasSOName(const char* config) const;