This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake".
The branch, next has been updated via f5a72455d8ff5805fe65b338e43731c346ac8809 (commit) via 27eb657d110123ee22b87fad1df7ebf64ecb47ba (commit) via 811f6c825271320259ed0ccdbe3c2d577ccbdcd4 (commit) via ef494edf766d622f87b82e601bf6ef7405bf29d0 (commit) via 82ebbf683e201af7b9bb493a221804992abf5a4a (commit) via 025edea019fa95581045ad6b83e7556a83d15f69 (commit) from d932507155630bde86637e87ec7fb75a45606c37 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f5a72455d8ff5805fe65b338e43731c346ac8809 commit f5a72455d8ff5805fe65b338e43731c346ac8809 Merge: d932507 27eb657 Author: Brad King <brad.k...@kitware.com> AuthorDate: Fri Jun 17 10:50:43 2016 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Fri Jun 17 10:50:43 2016 -0400 Merge topic 'xcode-mig-support' into next 27eb657d Xcode: Add support for mig files 811f6c82 Xcode: Add XCODE_FILE_ATTRIBUTES source file property ef494edf Xcode: Don't emit empty settings blocks. 82ebbf68 Xcode: Add function to conditionally add Xcode Attributes 025edea0 Xcode: Add const qualifiers https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=27eb657d110123ee22b87fad1df7ebf64ecb47ba commit 27eb657d110123ee22b87fad1df7ebf64ecb47ba Author: James Touton <bek...@gmail.com> AuthorDate: Fri Jun 3 18:27:39 2016 -0700 Commit: Brad King <brad.k...@kitware.com> CommitDate: Fri Jun 17 10:49:06 2016 -0400 Xcode: Add support for mig files diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx index 8eefb19..d30830a 100644 --- a/Source/cmGlobalXCodeGenerator.cxx +++ b/Source/cmGlobalXCodeGenerator.cxx @@ -787,6 +787,8 @@ std::string GetSourcecodeValueFromFileExtension(const std::string& _ext, sourcecode += ".asm"; } else if (ext == "metal") { sourcecode += ".metal"; + } else if (ext == "mig") { + sourcecode += ".mig"; } // else // { https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=811f6c825271320259ed0ccdbe3c2d577ccbdcd4 commit 811f6c825271320259ed0ccdbe3c2d577ccbdcd4 Author: James Touton <bek...@gmail.com> AuthorDate: Fri Jun 3 18:51:18 2016 -0700 Commit: Brad King <brad.k...@kitware.com> CommitDate: Fri Jun 17 10:49:06 2016 -0400 Xcode: Add XCODE_FILE_ATTRIBUTES source file property This adds values to the ATTRIBUTES list in PBXBuildFile settings. diff --git a/Help/manual/cmake-properties.7.rst b/Help/manual/cmake-properties.7.rst index 3403dcd..1c64d63 100644 --- a/Help/manual/cmake-properties.7.rst +++ b/Help/manual/cmake-properties.7.rst @@ -344,6 +344,7 @@ Properties on Source Files /prop_sf/VS_XAML_TYPE /prop_sf/WRAP_EXCLUDE /prop_sf/XCODE_EXPLICIT_FILE_TYPE + /prop_sf/XCODE_FILE_ATTRIBUTES /prop_sf/XCODE_LAST_KNOWN_FILE_TYPE .. _`Cache Entry Properties`: diff --git a/Help/prop_sf/XCODE_FILE_ATTRIBUTES.rst b/Help/prop_sf/XCODE_FILE_ATTRIBUTES.rst new file mode 100644 index 0000000..39e6966 --- /dev/null +++ b/Help/prop_sf/XCODE_FILE_ATTRIBUTES.rst @@ -0,0 +1,11 @@ +XCODE_FILE_ATTRIBUTES +--------------------- + +Add values to the Xcode ``ATTRIBUTES`` setting on its reference to a +source file. Among other things, this can be used to set the role on +a mig file:: + + set_source_files_properties(defs.mig + PROPERTIES + XCODE_FILE_ATTRIBUTES "Client;Server" + ) diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx index b439018..8eefb19 100644 --- a/Source/cmGlobalXCodeGenerator.cxx +++ b/Source/cmGlobalXCodeGenerator.cxx @@ -714,6 +714,20 @@ cmXCodeObject* cmGlobalXCodeGenerator::CreateXCodeSourceFile( } } + // Add user-specified file attributes. + const char* extraFileAttributes = sf->GetProperty("XCODE_FILE_ATTRIBUTES"); + if (extraFileAttributes) { + // Expand the list of attributes. + std::vector<std::string> attributes; + cmSystemTools::ExpandListArgument(extraFileAttributes, attributes); + + // Store the attributes. + for (std::vector<std::string>::const_iterator ai = attributes.begin(); + ai != attributes.end(); ++ai) { + attrs->AddObject(this->CreateString(*ai)); + } + } + settings->AddAttributeIfNotEmpty("ATTRIBUTES", attrs); // Add the fileRef to the top level Resources group/folder if it is not https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ef494edf766d622f87b82e601bf6ef7405bf29d0 commit ef494edf766d622f87b82e601bf6ef7405bf29d0 Author: James Touton <bek...@gmail.com> AuthorDate: Fri Jun 3 18:32:38 2016 -0700 Commit: Brad King <brad.k...@kitware.com> CommitDate: Fri Jun 17 10:49:06 2016 -0400 Xcode: Don't emit empty settings blocks. diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx index 4d778ee..b439018 100644 --- a/Source/cmGlobalXCodeGenerator.cxx +++ b/Source/cmGlobalXCodeGenerator.cxx @@ -689,7 +689,8 @@ cmXCodeObject* cmGlobalXCodeGenerator::CreateXCodeSourceFile( cmXCodeObject* fileRef = buildFile->GetObject("fileRef")->GetObject(); cmXCodeObject* settings = this->CreateObject(cmXCodeObject::ATTRIBUTE_GROUP); - settings->AddAttribute("COMPILER_FLAGS", this->CreateString(flags)); + settings->AddAttributeIfNotEmpty("COMPILER_FLAGS", + this->CreateString(flags)); // Is this a resource file in this target? Add it to the resources group... // @@ -698,23 +699,23 @@ cmXCodeObject* cmGlobalXCodeGenerator::CreateXCodeSourceFile( gtgt->GetTargetSourceFileFlags(sf); bool isResource = tsFlags.Type == cmGeneratorTarget::SourceFileTypeResource; + cmXCodeObject* attrs = this->CreateObject(cmXCodeObject::OBJECT_LIST); + // Is this a "private" or "public" framework header file? // Set the ATTRIBUTES attribute appropriately... // if (gtgt->IsFrameworkOnApple()) { if (tsFlags.Type == cmGeneratorTarget::SourceFileTypePrivateHeader) { - cmXCodeObject* attrs = this->CreateObject(cmXCodeObject::OBJECT_LIST); attrs->AddObject(this->CreateString("Private")); - settings->AddAttribute("ATTRIBUTES", attrs); isResource = true; } else if (tsFlags.Type == cmGeneratorTarget::SourceFileTypePublicHeader) { - cmXCodeObject* attrs = this->CreateObject(cmXCodeObject::OBJECT_LIST); attrs->AddObject(this->CreateString("Public")); - settings->AddAttribute("ATTRIBUTES", attrs); isResource = true; } } + settings->AddAttributeIfNotEmpty("ATTRIBUTES", attrs); + // Add the fileRef to the top level Resources group/folder if it is not // already there. // @@ -723,7 +724,7 @@ cmXCodeObject* cmGlobalXCodeGenerator::CreateXCodeSourceFile( this->ResourcesGroupChildren->AddObject(fileRef); } - buildFile->AddAttribute("settings", settings); + buildFile->AddAttributeIfNotEmpty("settings", settings); return buildFile; } https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=82ebbf683e201af7b9bb493a221804992abf5a4a commit 82ebbf683e201af7b9bb493a221804992abf5a4a Author: Gregor Jasny <gja...@googlemail.com> AuthorDate: Sun Jun 12 21:39:16 2016 +0200 Commit: Brad King <brad.k...@kitware.com> CommitDate: Fri Jun 17 10:49:05 2016 -0400 Xcode: Add function to conditionally add Xcode Attributes diff --git a/Source/cmXCodeObject.cxx b/Source/cmXCodeObject.cxx index 3d31343..fabf097 100644 --- a/Source/cmXCodeObject.cxx +++ b/Source/cmXCodeObject.cxx @@ -83,6 +83,22 @@ cmXCodeObject::cmXCodeObject(PBXType ptype, Type type) } } +bool cmXCodeObject::IsEmpty() const +{ + switch (this->TypeValue) { + case OBJECT_LIST: + return this->List.empty(); + case STRING: + return this->String.empty(); + case ATTRIBUTE_GROUP: + return this->ObjectAttributes.empty(); + case OBJECT_REF: + case OBJECT: + return this->Object == 0; + } + return true; // unreachable, but quiets warnings +} + void cmXCodeObject::Indent(int level, std::ostream& out) { while (level) { diff --git a/Source/cmXCodeObject.h b/Source/cmXCodeObject.h index 1502c27..ed917af 100644 --- a/Source/cmXCodeObject.h +++ b/Source/cmXCodeObject.h @@ -62,6 +62,8 @@ public: Type GetType() const { return this->TypeValue; } PBXType GetIsA() const { return this->IsA; } + bool IsEmpty() const; + void SetString(const std::string& s); const std::string& GetString() const { return this->String; } @@ -70,6 +72,13 @@ public: this->ObjectAttributes[name] = value; } + void AddAttributeIfNotEmpty(const std::string& name, cmXCodeObject* value) + { + if (value && !value->IsEmpty()) { + AddAttribute(name, value); + } + } + void SetObject(cmXCodeObject* value) { this->Object = value; } cmXCodeObject* GetObject() { return this->Object; } void AddObject(cmXCodeObject* value) { this->List.push_back(value); } https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=025edea019fa95581045ad6b83e7556a83d15f69 commit 025edea019fa95581045ad6b83e7556a83d15f69 Author: James Touton <bek...@gmail.com> AuthorDate: Fri Jun 3 16:38:52 2016 -0700 Commit: Brad King <brad.k...@kitware.com> CommitDate: Fri Jun 17 10:49:05 2016 -0400 Xcode: Add const qualifiers diff --git a/Source/cmXCodeObject.h b/Source/cmXCodeObject.h index d2f7cb7..1502c27 100644 --- a/Source/cmXCodeObject.h +++ b/Source/cmXCodeObject.h @@ -59,11 +59,11 @@ public: static const char* PBXTypeNames[]; virtual ~cmXCodeObject(); cmXCodeObject(PBXType ptype, Type type); - Type GetType() { return this->TypeValue; } - PBXType GetIsA() { return this->IsA; } + Type GetType() const { return this->TypeValue; } + PBXType GetIsA() const { return this->IsA; } void SetString(const std::string& s); - const std::string& GetString() { return this->String; } + const std::string& GetString() const { return this->String; } void AddAttribute(const std::string& name, cmXCodeObject* value) { @@ -73,7 +73,7 @@ public: void SetObject(cmXCodeObject* value) { this->Object = value; } cmXCodeObject* GetObject() { return this->Object; } void AddObject(cmXCodeObject* value) { this->List.push_back(value); } - bool HasObject(cmXCodeObject* o) + bool HasObject(cmXCodeObject* o) const { return !(std::find(this->List.begin(), this->List.end(), o) == this->List.end()); @@ -94,23 +94,25 @@ public: virtual void PrintComment(std::ostream&) {} static void PrintList(std::vector<cmXCodeObject*> const&, std::ostream& out); - const std::string& GetId() { return this->Id; } + const std::string& GetId() const { return this->Id; } void SetId(const std::string& id) { this->Id = id; } - cmGeneratorTarget* GetTarget() { return this->Target; } + cmGeneratorTarget* GetTarget() const { return this->Target; } void SetTarget(cmGeneratorTarget* t) { this->Target = t; } - const std::string& GetComment() { return this->Comment; } - bool HasComment() { return (!this->Comment.empty()); } - cmXCodeObject* GetObject(const char* name) + const std::string& GetComment() const { return this->Comment; } + bool HasComment() const { return (!this->Comment.empty()); } + cmXCodeObject* GetObject(const char* name) const { - if (this->ObjectAttributes.count(name)) { - return this->ObjectAttributes[name]; + std::map<std::string, cmXCodeObject*>::const_iterator i = + this->ObjectAttributes.find(name); + if (i != this->ObjectAttributes.end()) { + return i->second; } return 0; } // search the attribute list for an object of the specified type - cmXCodeObject* GetObject(cmXCodeObject::PBXType t) + cmXCodeObject* GetObject(cmXCodeObject::PBXType t) const { - for (std::vector<cmXCodeObject*>::iterator i = this->List.begin(); + for (std::vector<cmXCodeObject*>::const_iterator i = this->List.begin(); i != this->List.end(); ++i) { cmXCodeObject* o = *i; if (o->IsA == t) { @@ -126,7 +128,7 @@ public: { this->DependLibraries[configName].push_back(l); } - std::map<std::string, StringVec> const& GetDependLibraries() + std::map<std::string, StringVec> const& GetDependLibraries() const { return this->DependLibraries; } @@ -134,11 +136,14 @@ public: { this->DependTargets[configName].push_back(tName); } - std::map<std::string, StringVec> const& GetDependTargets() + std::map<std::string, StringVec> const& GetDependTargets() const { return this->DependTargets; } - std::vector<cmXCodeObject*> const& GetObjectList() { return this->List; } + std::vector<cmXCodeObject*> const& GetObjectList() const + { + return this->List; + } void SetComment(const std::string& c) { this->Comment = c; } static void PrintString(std::ostream& os, std::string String); ----------------------------------------------------------------------- Summary of changes: hooks/post-receive -- CMake _______________________________________________ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits