diff options
author | Sebastian Holtermann <sebholt@xwmw.org> | 2017-09-07 09:42:29 (GMT) |
---|---|---|
committer | Sebastian Holtermann <sebholt@xwmw.org> | 2017-09-09 07:44:55 (GMT) |
commit | 3e8b3e94dc6d3ea59dd437f1ea46786f9f0ec1d2 (patch) | |
tree | be9993d25925036d0dc5a86f8b4b634beba83319 | |
parent | e18ab9c4b2fc3b11a1e246b1418d25382a853bfb (diff) | |
download | CMake-3e8b3e94dc6d3ea59dd437f1ea46786f9f0ec1d2.zip CMake-3e8b3e94dc6d3ea59dd437f1ea46786f9f0ec1d2.tar.gz CMake-3e8b3e94dc6d3ea59dd437f1ea46786f9f0ec1d2.tar.bz2 |
cmMakefile: Collect source group methods in one place
-rw-r--r-- | Source/cmMakefile.cxx | 65 | ||||
-rw-r--r-- | Source/cmMakefile.h | 41 |
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 */ |