diff options
author | Brad King <brad.king@kitware.com> | 2014-02-26 14:38:51 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2014-02-26 14:38:51 (GMT) |
commit | 6223621e9a4bfc7bbf91037183c725c4300db397 (patch) | |
tree | 97ed8192c19a5b81048300a4912ffaeff09b4527 /Source/cmTarget.h | |
parent | 5cad466daefa64578d4e4ca0394db983ab40bba4 (diff) | |
parent | fba51b096e2d8ec281653aa05720c11dc9b9bfe6 (diff) | |
download | CMake-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.h | 23 |
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; |