openframeworks / openframeworks/projectGenerator
[Feature] Add compiler flags per files on Xcode Project with addon_config.mk.
Nobody has claimed this yet.
- Dominant language
- CSS
- Stars
- 90
- Forks
- 79
- Avg merge
- 2d 9h
- Merged PRs (30d)
- 5
Description
I can't show a better way how to specify flags to file.
But I found where is compiler flags in project.xcodeproj.
const char PBXBuildFile[] =
STRINGIFY(
<key>BUILDUUID</key>
<dict>
<key>fileRef</key>
<string>FILEUUID</string>
<key>isa</key>
<string>PBXBuildFile</string>
+ <key>settings</key>
+ <dict>
+ <key>COMPILER_FLAGS</key>
+ <string>__COMPILER_FLAGS__</string>
+ </dict>
</dict>
);
idea of how to specify flags:
variable: ADDON_COMPILERFLAGS_PER_FILE
values: SOURCE_FILE COMPILER_FLAG
e.g.
ADDON_COMPILERFLAGS_PER_FILE = src/foo.m -fno-objc-arc
ADDON_COMPILERFLAGS_PER_FILE += src/foo.m -DHOGE
ADDON_COMPILERFLAGS_PER_FILE += src/bar.m -fobjc-arc
those give generic feature.
but, (maybe) mainly we want to use for adding -fno-objc-arc or -fobjc-arc.
so, other way is like
ADDON_NO_OBJC_ARC = SOURCE_FILE
ADDON_OBJC_ARC = SOURCE_FILE
Probably this is easy to implement than generic way.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with addon_config.mk and the PBXBuildFile section of the generated project.xcodeproj format described in the issue. Resolve whether the feature should support generic per-file compiler flags, ARC-specific variables, or both, then trace the generator entry point that reads addon_config.mk. Done means the selected configuration produces the expected per-file COMPILER_FLAGS entries.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, objective-c
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100