Makeprojects
Loading...
Searching...
No Matches
makeprojects.xcode Namespace Reference

Sub file for makeprojects. More...

Classes

class  BuildXCodeFile
 Class to build Apple XCode files. More...
class  MakeXCProject
 Root object for an XCode IDE project file. More...
class  PBXContainerItemProxy
 Each PBXContainerItemProxy entry. More...
class  PBXNativeTarget
 Each PBXNative entry. More...
class  PBXProject
 Each PBXProject entry. More...
class  PBXSourcesBuildPhase
 Each PBXSourcesBuildPhase entry. More...
class  PBXTargetDependency
 Each PBXTargetDependency entry. More...
class  XCBuildConfiguration
 Each XCBuildConfiguration entry. More...
class  XCConfigurationList
 Each XCConfigurationList entry. More...

Functions

 parse_xcodeproj_file (full_pathname)
 Extract configurations from an XCode project file.
 match (filename)
 Check if the filename is a type that this module supports.
 create_build_object (file_name, priority=50, configurations=None, verbose=False)
 Create BuildXCodeFile build records for every desired configuration.
 create_clean_object (file_name, priority=50, configurations=None, verbose=False)
 Create BuildXCodeFile build records for every desired configuration.
 test (ide, platform_type)
 Filter for supported platforms.
 add_XCBuildConfiguration (build_settings, configuration)
 Update the settings for a XCBuildConfiguration.
 generate (solution)
 Create a project file for XCode file format version 3.1.

Variables

 _PBXPROJFILE_MATCH
 Regex for matching files with *.pbxproj.
 _XCODEPROJFILE_MATCH
 Regex for matching files with *.xcodeproj.
tuple _XCODE_SUFFIXES
 List of filename suffixes for xcode versions.
tuple SUPPORTED_IDES
 Supported IDE codes for the XCode exporter.
dict OBJECT_VERSIONS
 Version values.
tuple SUPPORTED_FILES
 Supported input files.

Detailed Description

Sub file for makeprojects.

Handler for Apple Computer XCode projects

This module contains classes needed to generate project files intended for use by Apple's XCode IDE

Function Documentation

◆ add_XCBuildConfiguration()

makeprojects.xcode.add_XCBuildConfiguration ( build_settings,
configuration )

Update the settings for a XCBuildConfiguration.

Parameters
build_settingsList of build settings
configurationConfiguration to use

◆ create_build_object()

makeprojects.xcode.create_build_object ( file_name,
priority = 50,
configurations = None,
verbose = False )

Create BuildXCodeFile build records for every desired configuration.

Parameters
file_namePathname to the *.pbxproj to build
priorityPriority to build this object
configurationsConfiguration list to build
verboseTrue if verbose output
Returns
list of BuildXCodeFile classes

◆ create_clean_object()

makeprojects.xcode.create_clean_object ( file_name,
priority = 50,
configurations = None,
verbose = False )

Create BuildXCodeFile build records for every desired configuration.

Parameters
file_namePathname to the *.pbxproj to build
priorityPriority to build this object
configurationsConfiguration list to build
verboseTrue if verbose output
Returns
list of BuildXCodeFile classes

◆ generate()

makeprojects.xcode.generate ( solution)

Create a project file for XCode file format version 3.1.

Parameters
solutionsolution to generate an XCode project from
Returns
Numeric error code.

◆ match()

makeprojects.xcode.match ( filename)

Check if the filename is a type that this module supports.

Parameters
filenameFilename to match
Returns
False if not a match, True if supported

◆ parse_xcodeproj_file()

makeprojects.xcode.parse_xcodeproj_file ( full_pathname)

Extract configurations from an XCode project file.

Given a .xcodeproj directory for XCode for macOS locate and extract all of the build targets available and return the list.

Parameters
full_pathnamePathname to the .xcodeproj folder
Returns
list of configuration strings
See also
build_xcode

◆ test()

makeprojects.xcode.test ( ide,
platform_type )

Filter for supported platforms.

Parameters
ideIDETypes
platform_typePlatformTypes
Returns
True if supported, False if not

Variable Documentation

◆ OBJECT_VERSIONS

dict makeprojects.xcode.OBJECT_VERSIONS
Initial value:
1= {
2 IDETypes.xcode3: (45, None, "Xcode 3.1", "English"),
3 IDETypes.xcode4: (46, "0420", "Xcode 3.2", "English"),
4 IDETypes.xcode5: (46, "0510", "Xcode 3.2", "English"),
5 IDETypes.xcode6: (47, "0600", "Xcode 6.3", None),
6 IDETypes.xcode7: (47, "0700", "Xcode 6.3", None),
7 IDETypes.xcode8: (48, "0800", "Xcode 8.0", None),
8 # No version 49
9 IDETypes.xcode9: (50, "0900", "Xcode 9.3", None),
10 IDETypes.xcode10: (51, "1030", "Xcode 10.0", None),
11 IDETypes.xcode11: (52, "1100", "Xcode 11.0", None),
12 # 53 is 11.4 or higher
13 IDETypes.xcode12: (54, "1200", "Xcode 12.0", None),
14 IDETypes.xcode13: (55, "1300", "Xcode 13.0", None),
15 IDETypes.xcode14: (56, "1400", "Xcode 14.0", None),
16 IDETypes.xcode15: (60, "1500", "Xcode 15.0", None),
17 IDETypes.xcode16: (77, "1600", "Xcode 16.0", None)
18}

Version values.

◆ SUPPORTED_FILES

tuple makeprojects.xcode.SUPPORTED_FILES
Initial value:
1= (
2 FileTypes.icns, FileTypes.h, FileTypes.cpp, FileTypes.c,
3 FileTypes.m, FileTypes.mm, FileTypes.ppc, FileTypes.x64,
4 FileTypes.x86, FileTypes.arm, FileTypes.arm64,
5 FileTypes.frameworks, FileTypes.exe, FileTypes.library,
6 FileTypes.glsl
7)

Supported input files.

◆ SUPPORTED_IDES

tuple makeprojects.xcode.SUPPORTED_IDES
Initial value:
1= (
2 IDETypes.xcode3, IDETypes.xcode4, IDETypes.xcode5,
3 IDETypes.xcode6, IDETypes.xcode7, IDETypes.xcode8,
4 IDETypes.xcode9, IDETypes.xcode10, IDETypes.xcode11,
5 IDETypes.xcode12, IDETypes.xcode13, IDETypes.xcode14,
6 IDETypes.xcode15, IDETypes.xcode16
7)

Supported IDE codes for the XCode exporter.