From f9d5b1fd0fe1e1c5a0083c6518c7da6c36776042 Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Fri, 14 Feb 2014 12:24:13 +0100 Subject: [PATCH] Handle Mac OSX source flags for individual files lazily. The actual list of files will become config dependent in a follow-up commit. --- Source/cmGeneratorTarget.cxx | 43 ++++++++++++++---------------------- 1 file changed, 17 insertions(+), 26 deletions(-) diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx index 4cb19044c..a7b2fb69c 100644 --- a/Source/cmGeneratorTarget.cxx +++ b/Source/cmGeneratorTarget.cxx @@ -1009,6 +1009,23 @@ cmGeneratorTarget::GetTargetSourceFileFlags(const cmSourceFile* sf) const { flags = si->second; } + else + { + // Handle the MACOSX_PACKAGE_LOCATION property on source files that + // were not listed in one of the other lists. + if(const char* location = sf->GetProperty("MACOSX_PACKAGE_LOCATION")) + { + flags.MacFolder = location; + if(strcmp(location, "Resources") == 0) + { + flags.Type = cmGeneratorTarget::SourceFileTypeResource; + } + else + { + flags.Type = cmGeneratorTarget::SourceFileTypeMacContent; + } + } + } return flags; } @@ -1072,30 +1089,4 @@ void cmGeneratorTarget::ConstructSourceFileFlags() const } } } - - // Handle the MACOSX_PACKAGE_LOCATION property on source files that - // were not listed in one of the other lists. - std::vector sources; - this->GetSourceFiles(sources); - for(std::vector::const_iterator si = sources.begin(); - si != sources.end(); ++si) - { - cmSourceFile* sf = *si; - if(const char* location = sf->GetProperty("MACOSX_PACKAGE_LOCATION")) - { - SourceFileFlags& flags = this->SourceFlagsMap[sf]; - if(flags.Type == cmGeneratorTarget::SourceFileTypeNormal) - { - flags.MacFolder = location; - if(strcmp(location, "Resources") == 0) - { - flags.Type = cmGeneratorTarget::SourceFileTypeResource; - } - else - { - flags.Type = cmGeneratorTarget::SourceFileTypeMacContent; - } - } - } - } }