diff options
author | Brad King <brad.king@kitware.com> | 2005-01-04 22:41:19 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2005-01-04 22:41:19 (GMT) |
commit | 79c67a6dfa0f864734859a0ab08fe7c22bcfbf24 (patch) | |
tree | b12973e300f98c19a6aa9f51caa7b296356c4138 /Source/cmLocalUnixMakefileGenerator2.h | |
parent | 524769aebc2356b89a021fc9229fb7ed548a46a9 (diff) | |
download | CMake-79c67a6dfa0f864734859a0ab08fe7c22bcfbf24.zip CMake-79c67a6dfa0f864734859a0ab08fe7c22bcfbf24.tar.gz CMake-79c67a6dfa0f864734859a0ab08fe7c22bcfbf24.tar.bz2 |
ENH: Added relative path support (mostly done). Many paths are written relative even if CMAKE_USE_RELATIVE_PATHS is not on just to keep makefiles short.
Diffstat (limited to 'Source/cmLocalUnixMakefileGenerator2.h')
-rw-r--r-- | Source/cmLocalUnixMakefileGenerator2.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/Source/cmLocalUnixMakefileGenerator2.h b/Source/cmLocalUnixMakefileGenerator2.h index 9d2bd07..64b3b80 100644 --- a/Source/cmLocalUnixMakefileGenerator2.h +++ b/Source/cmLocalUnixMakefileGenerator2.h @@ -95,7 +95,7 @@ protected: const char* order, const std::string& last); void WriteConvenienceRules(std::ostream& ruleFileStream, const cmTarget& target, - const char* targetFullPath); + const char* targetOutPath); void WriteConvenienceRule(std::ostream& ruleFileStream, const char* realTarget, const char* helpTarget); @@ -138,6 +138,11 @@ protected: std::string GetCustomBaseName(const cmCustomCommand& cc); const char* GetSourceFileLanguage(const cmSourceFile& source); std::string ConvertToFullPath(const std::string& localPath); + std::string ConvertToRelativePath(const char* p); + std::string ConvertToRelativeOutputPath(const char* p); + virtual void ConfigureOutputPaths(); + void SplitFullPath(const char* p, std::vector<std::string>& components); + bool ComparePath(const char* c1, const char* c2); void AddLanguageFlags(std::string& flags, const char* lang); void AddSharedFlags(std::string& flags, const char* lang, bool shared); @@ -191,6 +196,13 @@ private: std::vector<std::string> m_BuildTargets; std::vector<std::string> m_InstallTargets; std::vector<std::string> m_CleanTargets; + + // The prefix required of a path to be converted to a relative path. + // No sequence of ../.. will ever go past this path. + std::string m_RelativePathTop; + + // The pre-split current output directory. + std::vector<std::string> m_CurrentOutputDirectoryComponents; }; #endif |