Generated Xcode project warnings: redundant files


#1

Hi, I'm currently observing my system log file:

 

tail -F /var/log/system.log

 

And on loading an Xcode project I've got many warnings about redundant files in the introjucer-generated project, for instance:

 

Jul 16 11:09:11 MyMachine.local Xcode[80788]: warning:  The file reference for "../../../xxxxxxx/juce/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp" is a member of multiple groups ("VST" and "Juce Library Code"); this indicates a malformed project.  Only the membership in one of the groups will be preserved (but membership in targets will be unaffected).  If you want a reference to the same file in more than one group, please add another reference to the same path.

 

As a consequence, the file only appears once in the Xcode project tree; this does not prevent the project to apparently compile fine, but who knows? You might want to prevent such issues, just in case you were not aware of these.

 

All the best!

 


#2

Hi there,

did you generate this project with the latest version of Introjucer? Would be interesting to know how you ended up with a file being referenced from two Groups. I think this should not happen if you manage your project with Introjucer.


#3

Yep, nearly at the tip of the Juce Git repo. (Currently just 9 commits behind, but nothing related happened since then…)


#4

Thanks again.for bringing this up.

I was playing around with creating projects with Introjucer just now - but could not find any scenario or use case where it would let me put the same file into two groups simultaneously.

The only thing I can imagine is that you changed the file structure in Xcode at some point, and that screwed up your project somehow..? Otherwise I'm pretty clueless right now.

I'd say it is safe to ignore the console error message in your case, as it does not seem to have any effect on your app compiling correctly.

 


#5

Did I edit the Xcode project from Xcode.app? Absolutely not.

Does it prevent the app from building? Right now, apparently not.

Will it mess up things or will make the project unloadable/unbuildable at some point in the future because of this (e.g. when browsing through commits on a GIT repo)? Nobody can tell…

 

Here is the simple reproduction scenario:

  • in a console: tail -F /var/log/system.log
  • launch Introjucer.app
  • File > New Project… > Audio Plug-In > Target Platform > Xcode (MacOSX) > Create…
  • Make sure "Build VST" is [√] Enabled
  • Click "Save Project and Open in Xcode…"
  • Look at system.log warnings (which look like the ones I pasted on my first message of this thread).

All the best


#6

Thank you for the reproduction steps!

Hopefully we'll be able to sort this soon for you :)


#7

I am seeing these warnings in 4.2.4. For example,

2016-10-26 12:10:29.469 xcodebuild[58033:2396125] warning:  The file reference for "../../../../modules/juce_audio_processors/juce_audio_processors.h" is a member of multiple groups ("juce_audio_processors" and "juce_audio_processors"); this indicates a malformed project.  Only the membership in one of the groups will be preserved (but membership in targets will be unaffected).  If you want a reference to the same file in more than one group, please add another reference to the same path.

In my case the files in the warning are exactly the top level headers of the JUCE modules I am using.

Looking inside the project.pbxproj file, I found the file reference appears not in two groups, but twice in one group.

Here’s an excerpt. the reference appears 7th and 9th in the group list, and nowhere else in the file:

	2FA80E19BAABE00689713227 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; };

	08030718730CCB111A5461C7 = {isa = PBXGroup; children = (
				5660A7ED53ADC3B0BB265936,
				1664C5473D96D0034B63DA30,
				471FE8ABC0ED3E63D5F151EF,
				FC986F750F957E8B871FAE01,
				5C0ABD88CF2C5008392BEED6,
				E88539D2BC32F32F6E4B8E00,
				2FA80E19BAABE00689713227,
				46B5B89320FBE97F491B6136,
				2FA80E19BAABE00689713227, ); name = "juce_audio_processors"; sourceTree = "<group>"; };