summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Holtermann <sebholt@xwmw.org>2017-09-07 09:42:29 (GMT)
committerSebastian Holtermann <sebholt@xwmw.org>2017-09-09 07:44:55 (GMT)
commit3e8b3e94dc6d3ea59dd437f1ea46786f9f0ec1d2 (patch)
treebe9993d25925036d0dc5a86f8b4b634beba83319
parente18ab9c4b2fc3b11a1e246b1418d25382a853bfb (diff)
downloadCMake-3e8b3e94dc6d3ea59dd437f1ea46786f9f0ec1d2.zip
CMake-3e8b3e94dc6d3ea59dd437f1ea46786f9f0ec1d2.tar.gz
CMake-3e8b3e94dc6d3ea59dd437f1ea46786f9f0ec1d2.tar.bz2
cmMakefile: Collect source group methods in one place
-rw-r--r--Source/cmMakefile.cxx65
-rw-r--r--Source/cmMakefile.h41
2 files changed, 49 insertions, 57 deletions
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index 230c210..24c2de2 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -2010,6 +2010,37 @@ void cmMakefile::AddSourceGroup(const std::vector<std::string>& name,
sg->SetGroupRegex(regex);
}
+/**
+ * Find a source group whose regular expression matches the filename
+ * part of the given source name. Search backward through the list of
+ * source groups, and take the first matching group found. This way
+ * non-inherited SOURCE_GROUP commands will have precedence over
+ * inherited ones.
+ */
+cmSourceGroup* cmMakefile::FindSourceGroup(
+ const char* source, std::vector<cmSourceGroup>& groups) const
+{
+ // First search for a group that lists the file explicitly.
+ for (std::vector<cmSourceGroup>::reverse_iterator sg = groups.rbegin();
+ sg != groups.rend(); ++sg) {
+ cmSourceGroup* result = sg->MatchChildrenFiles(source);
+ if (result) {
+ return result;
+ }
+ }
+
+ // Now search for a group whose regex matches the file.
+ for (std::vector<cmSourceGroup>::reverse_iterator sg = groups.rbegin();
+ sg != groups.rend(); ++sg) {
+ cmSourceGroup* result = sg->MatchChildrenRegex(source);
+ if (result) {
+ return result;
+ }
+ }
+
+ // Shouldn't get here, but just in case, return the default group.
+ return &groups.front();
+}
#endif
static bool mightExpandVariablesCMP0019(const char* s)
@@ -2818,40 +2849,6 @@ std::string cmMakefile::GetConfigurations(std::vector<std::string>& configs,
return buildType;
}
-#if defined(CMAKE_BUILD_WITH_CMAKE)
-/**
- * Find a source group whose regular expression matches the filename
- * part of the given source name. Search backward through the list of
- * source groups, and take the first matching group found. This way
- * non-inherited SOURCE_GROUP commands will have precedence over
- * inherited ones.
- */
-cmSourceGroup* cmMakefile::FindSourceGroup(
- const char* source, std::vector<cmSourceGroup>& groups) const
-{
- // First search for a group that lists the file explicitly.
- for (std::vector<cmSourceGroup>::reverse_iterator sg = groups.rbegin();
- sg != groups.rend(); ++sg) {
- cmSourceGroup* result = sg->MatchChildrenFiles(source);
- if (result) {
- return result;
- }
- }
-
- // Now search for a group whose regex matches the file.
- for (std::vector<cmSourceGroup>::reverse_iterator sg = groups.rbegin();
- sg != groups.rend(); ++sg) {
- cmSourceGroup* result = sg->MatchChildrenRegex(source);
- if (result) {
- return result;
- }
- }
-
- // Shouldn't get here, but just in case, return the default group.
- return &groups.front();
-}
-#endif
-
bool cmMakefile::IsFunctionBlocked(const cmListFileFunction& lff,
cmExecutionStatus& status)
{
diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h
index 938b61b..31ae229 100644
--- a/Source/cmMakefile.h
+++ b/Source/cmMakefile.h
@@ -270,21 +270,6 @@ public:
bool excludeFromAll = false);
void AddAlias(const std::string& libname, const std::string& tgt);
-#if defined(CMAKE_BUILD_WITH_CMAKE)
- /**
- * Add a root source group for consideration when adding a new source.
- */
- void AddSourceGroup(const std::string& name, const char* regex = nullptr);
-
- /**
- * Add a source group for consideration when adding a new source.
- * name is tokenized.
- */
- void AddSourceGroup(const std::vector<std::string>& name,
- const char* regex = nullptr);
-
-#endif
-
//@{
/**
* Set, Push, Pop policy values for CMake.
@@ -476,6 +461,24 @@ public:
* Get the source group
*/
cmSourceGroup* GetSourceGroup(const std::vector<std::string>& name) const;
+
+ /**
+ * Add a root source group for consideration when adding a new source.
+ */
+ void AddSourceGroup(const std::string& name, const char* regex = nullptr);
+
+ /**
+ * Add a source group for consideration when adding a new source.
+ * name is tokenized.
+ */
+ void AddSourceGroup(const std::vector<std::string>& name,
+ const char* regex = nullptr);
+
+ /**
+ * find what source group this source is in
+ */
+ cmSourceGroup* FindSourceGroup(const char* source,
+ std::vector<cmSourceGroup>& groups) const;
#endif
/**
@@ -552,14 +555,6 @@ public:
bool atOnly, bool escapeQuotes,
cmNewLineStyle = cmNewLineStyle());
-#if defined(CMAKE_BUILD_WITH_CMAKE)
- /**
- * find what source group this source is in
- */
- cmSourceGroup* FindSourceGroup(const char* source,
- std::vector<cmSourceGroup>& groups) const;
-#endif
-
/**
* Print a command's invocation
*/