diff options
author | Brad King <brad.king@kitware.com> | 2019-11-18 14:50:35 +0000 |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2019-11-18 09:50:57 -0500 |
commit | 0e46dea3430958183cb514c2a5518b5079ef588c (patch) | |
tree | 0881493aee815754b1f5c1d75f20b98730c95afb /Source/CPack/cmCPackGenerator.cxx | |
parent | bd1655571738126eaf878960423a648cb34baf0b (diff) | |
parent | 7d6ab5dc5bac806a268eac55deaf5bc550aaa6d4 (diff) | |
download | cmake-0e46dea3430958183cb514c2a5518b5079ef588c.tar.gz |
Merge topic 'cpack-custom-templates'
7d6ab5dc5b CPack: Restore support for custom package configuration templates
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kyle Edwards <kyle.edwards@kitware.com>
Merge-request: !4054
Diffstat (limited to 'Source/CPack/cmCPackGenerator.cxx')
-rw-r--r-- | Source/CPack/cmCPackGenerator.cxx | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/Source/CPack/cmCPackGenerator.cxx b/Source/CPack/cmCPackGenerator.cxx index 7a6c50b7a2..953022764f 100644 --- a/Source/CPack/cmCPackGenerator.cxx +++ b/Source/CPack/cmCPackGenerator.cxx @@ -23,6 +23,7 @@ #include "cmState.h" #include "cmStateSnapshot.h" #include "cmStringAlgorithms.h" +#include "cmSystemTools.h" #include "cmVersion.h" #include "cmWorkingDirectory.h" #include "cmXMLSafe.h" @@ -1254,7 +1255,17 @@ std::string cmCPackGenerator::FindTemplate(const char* name) cmCPackLogger(cmCPackLog::LOG_DEBUG, "Look for template: " << (name ? name : "(NULL)") << std::endl); + // Search CMAKE_MODULE_PATH for a custom template. std::string ffile = this->MakefileMap->GetModulesFile(name); + if (ffile.empty()) { + // Fall back to our internal builtin default. + ffile = cmStrCat(cmSystemTools::GetCMakeRoot(), "/Modules/Internal/CPack/", + name); + cmSystemTools::ConvertToUnixSlashes(ffile); + if (!cmSystemTools::FileExists(ffile)) { + ffile.clear(); + } + } cmCPackLogger(cmCPackLog::LOG_DEBUG, "Found template: " << ffile << std::endl); return ffile; |