summaryrefslogtreecommitdiff
path: root/Source/CPack/cmCPackGenerator.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2019-11-18 14:50:35 +0000
committerKitware Robot <kwrobot@kitware.com>2019-11-18 09:50:57 -0500
commit0e46dea3430958183cb514c2a5518b5079ef588c (patch)
tree0881493aee815754b1f5c1d75f20b98730c95afb /Source/CPack/cmCPackGenerator.cxx
parentbd1655571738126eaf878960423a648cb34baf0b (diff)
parent7d6ab5dc5bac806a268eac55deaf5bc550aaa6d4 (diff)
downloadcmake-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.cxx11
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;