# Path to `self`
var path: String
+ # Compiler flags for this source file
+ var cflags: String = "" is writable
+
# UUID for build elements
private var build_uuid: String = sys.pbx_uuid_generator.next_uuid is lazy
end
# PBX description of this file
- private fun description: Writable do return """
+ private fun description: Writable
+ do
+ var extra = ""
+ var cflags = cflags
+ if not cflags.is_empty then extra = "\nsettings = \{COMPILER_FLAGS = \"{cflags}\"; \};"
+
+ return """
{{{ref_uuid}}} /* {{{doc}}} */ = {
isa = PBXFileReference;
fileEncoding = 4;
lastKnownFileType = {{{file_type}}};
- path = {{{path}}};
- sourceTree = "<group>";
+ path = '{{{path}}}';
+ sourceTree = "<group>";{{{extra}}}
};
"""
+ end
private fun add_to_project(project: PbxprojectTemplate)
do
# Name of the project
var name: String
+ # OTHER_CFLAGS
+ var cflags = "" is writable
+
# All body/implementation source files to be compiled
private var source_files = new Array[PbxFile]
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = {{{name}}}/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ OTHER_CFLAGS = "{{{cflags.escape_to_c}}}";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = {{{name}}}/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ OTHER_CFLAGS = "{{{cflags.escape_to_c}}}";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;