summaryrefslogtreecommitdiffstats
path: root/Source/cmTarget.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2014-02-26 14:38:51 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2014-02-26 14:38:51 (GMT)
commit6223621e9a4bfc7bbf91037183c725c4300db397 (patch)
tree97ed8192c19a5b81048300a4912ffaeff09b4527 /Source/cmTarget.h
parent5cad466daefa64578d4e4ca0394db983ab40bba4 (diff)
parentfba51b096e2d8ec281653aa05720c11dc9b9bfe6 (diff)
downloadCMake-6223621e9a4bfc7bbf91037183c725c4300db397.zip
CMake-6223621e9a4bfc7bbf91037183c725c4300db397.tar.gz
CMake-6223621e9a4bfc7bbf91037183c725c4300db397.tar.bz2
Merge topic 'msvc-compiler-pdb-files'
fba51b09 MSVC: Add properties to configure compiler PDB files (#14762) 3737860a cmTarget: Add per-config compilation info 718a9532 cmTarget: Refactor ComputePDBOutputDir interface aae5184c Help: Refactor PDB_NAME and PDB_OUTPUT_DIRECTORY docs b4aac0ca Makefile: Fix per-config linker PDB output directory
Diffstat (limited to 'Source/cmTarget.h')
-rw-r--r--Source/cmTarget.h23
1 files changed, 20 insertions, 3 deletions
diff --git a/Source/cmTarget.h b/Source/cmTarget.h
index 5dec9e2..471ea94 100644
--- a/Source/cmTarget.h
+++ b/Source/cmTarget.h
@@ -320,7 +320,13 @@ public:
If the configuration name is given then the generator will add its
subdirectory for that configuration. Otherwise just the canonical
pdb output directory is given. */
- std::string GetPDBDirectory(const char* config = 0) const;
+ 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
@@ -350,7 +356,13 @@ public:
const char* config=0, bool implib = false) const;
/** Get the name of the pdb file for the target. */
- std::string GetPDBName(const char* config=0) const;
+ 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;
@@ -685,7 +697,8 @@ private:
OutputInfo const* GetOutputInfo(const char* config) const;
bool
ComputeOutputDir(const char* config, bool implib, std::string& out) const;
- bool ComputePDBOutputDir(const char* config, std::string& out) const;
+ bool ComputePDBOutputDir(const char* kind, const char* config,
+ std::string& out) const;
// Cache import information from properties for each configuration.
struct ImportInfo;
@@ -694,6 +707,10 @@ private:
void ComputeImportInfo(std::string const& desired_config, ImportInfo& info,
cmTarget const* head) const;
+ // Cache target compile paths for each configuration.
+ struct CompileInfo;
+ CompileInfo const* GetCompileInfo(const char* config) const;
+
mutable cmTargetLinkInformationMap LinkInformation;
void CheckPropertyCompatibility(cmComputeLinkInformation *info,
const char* config) const;