Panda3D
Loading...
Searching...
No Matches
build_apps Class Reference
Inheritance diagram for build_apps:

Public Member Functions

 add_dependency (self, name, target_dir, search_path, referenced_by)
 
 build_runtimes (self, platform, use_wheels)
 
 bundle_macos_app (self, builddir)
 
 copy (self, source_path, target_path)
 
 copy_dependencies (self, target_path, target_dir, search_path, referenced_by)
 
 copy_with_dependencies (self, source_path, target_path, search_path)
 
 download_wheels (self, platform)
 
 expand_path (self, path, platform)
 
 finalize_options (self)
 
 initialize_options (self)
 
 run (self)
 
 update_pe_resources (self, appname, runtime)
 

Public Attributes

bool bam_embed_textures = False
 
list bam_model_extensions = []
 
 build_base = os.path.join(os.getcwd(), 'build')
 
dict console_apps = {}
 
str default_prc_dir = None
 
bool embed_prc_data = True
 
list exclude_dependencies
 
dict exclude_modules = {}
 
list exclude_patterns = []
 
str extra_prc_data = ''
 
list extra_prc_files = []
 
dict file_handlers = {}
 
dict gui_apps = {}
 
dict icon_objects = {}
 
dict icons = {}
 
dict include_modules = {}
 
list include_patterns = []
 
bool log_append = False
 
 log_filename = None
 
bool log_filename_strftime = False
 
 macos_main_app = None
 
str optimized_wheel_index = ''
 
dict package_data_dirs = {}
 
list platforms
 
list plugins = []
 
bool prefer_discrete_gpu = False
 
list pypi_extra_indexes
 
dict rename_paths = {}
 
 requirements_path = os.path.join(os.getcwd(), 'requirements.txt')
 
bool strip_docstrings = True
 
bool use_optimized_wheels = True
 

Static Public Attributes

dict default_file_handlers
 
str description = 'build Panda3D applications'
 
list user_options
 

Protected Member Functions

 _get_zip_file (self, path)
 
 _read_dependencies_elf (self, elf, origin, search_path)
 
 _read_dependencies_fat (self, fp, is_64bit, flatten=False)
 
 _read_dependencies_macho (self, fp, endian, flatten=False)
 

Protected Attributes

dict _zip_files = {}
 

Member Function Documentation

◆ _get_zip_file()

_get_zip_file ( self,
path )
protected

◆ _read_dependencies_elf()

_read_dependencies_elf ( self,
elf,
origin,
search_path )
protected
 Having read the first 4 bytes of the ELF file, fetches the
dependent libraries and returns those as a list. 

◆ _read_dependencies_fat()

_read_dependencies_fat ( self,
fp,
is_64bit,
flatten = False )
protected

◆ _read_dependencies_macho()

_read_dependencies_macho ( self,
fp,
endian,
flatten = False )
protected
 Having read the first 4 bytes of the Mach-O file, fetches the
dependent libraries and returns those as a list.

If flatten is True, if the dependencies contain paths like
@loader_path/../.dylibs/libsomething.dylib, it will rewrite them to
instead contain @loader_path/libsomething.dylib if possible.
This requires the file pointer to be opened in rb+ mode. 

◆ add_dependency()

add_dependency ( self,
name,
target_dir,
search_path,
referenced_by )
 Searches for the given DLL on the search path.  If it exists,
copies it to the target_dir. 

◆ build_runtimes()

build_runtimes ( self,
platform,
use_wheels )
 Builds the distributions for the given platform. 

◆ bundle_macos_app()

bundle_macos_app ( self,
builddir )
Bundle built runtime into a .app for macOS

◆ copy()

copy ( self,
source_path,
target_path )
 Copies source_path to target_path.

source_path may be located inside a .whl file. 

◆ copy_dependencies()

copy_dependencies ( self,
target_path,
target_dir,
search_path,
referenced_by )
 Copies the dependencies of target_path into target_dir. 

◆ copy_with_dependencies()

copy_with_dependencies ( self,
source_path,
target_path,
search_path )
 Copies source_path to target_path.  It also scans source_path for
any dependencies, which are located along the given search_path and
copied to the same directory as target_path.

source_path may be located inside a .whl file. 

◆ download_wheels()

download_wheels ( self,
platform )
 Downloads wheels for the given platform using pip. This includes panda3d
wheels. These are special wheels that are expected to contain a deploy_libs
directory containing the Python runtime libraries, which will be added
to sys.path.

◆ expand_path()

expand_path ( self,
path,
platform )

◆ finalize_options()

finalize_options ( self)

◆ initialize_options()

initialize_options ( self)

◆ run()

run ( self)

◆ update_pe_resources()

update_pe_resources ( self,
appname,
runtime )
Update resources (e.g., icons) in windows PE file

Member Data Documentation

◆ _zip_files

dict _zip_files = {}
protected

◆ bam_embed_textures

bool bam_embed_textures = False

◆ bam_model_extensions

list bam_model_extensions = []

◆ build_base

build_base = os.path.join(os.getcwd(), 'build')

◆ console_apps

dict console_apps = {}

◆ default_file_handlers

dict default_file_handlers
static
Initial value:
= {
'.egg': egg2bam,
}

◆ default_prc_dir

default_prc_dir = None

◆ description

str description = 'build Panda3D applications'
static

◆ embed_prc_data

bool embed_prc_data = True

◆ exclude_dependencies

list exclude_dependencies

◆ exclude_modules

dict exclude_modules = {}

◆ exclude_patterns

list exclude_patterns = []

◆ extra_prc_data

str extra_prc_data = ''

◆ extra_prc_files

list extra_prc_files = []

◆ file_handlers

file_handlers = {}

◆ gui_apps

dict gui_apps = {}

◆ icon_objects

dict icon_objects = {}

◆ icons

dict icons = {}

◆ include_modules

dict include_modules = {}

◆ include_patterns

list include_patterns = []

◆ log_append

log_append = False

◆ log_filename

log_filename = None

◆ log_filename_strftime

log_filename_strftime = False

◆ macos_main_app

macos_main_app = None

◆ optimized_wheel_index

optimized_wheel_index = ''

◆ package_data_dirs

package_data_dirs = {}

◆ platforms

platforms
Initial value:
= [
'manylinux1_x86_64',
'macosx_10_6_x86_64',
'win_amd64',
]

◆ plugins

list plugins = []

◆ prefer_discrete_gpu

bool prefer_discrete_gpu = False

◆ pypi_extra_indexes

list pypi_extra_indexes
Initial value:
= [
'https://archive.panda3d.org/thirdparty',
]

◆ rename_paths

dict rename_paths = {}

◆ requirements_path

requirements_path = os.path.join(os.getcwd(), 'requirements.txt')

◆ strip_docstrings

bool strip_docstrings = True

◆ use_optimized_wheels

bool use_optimized_wheels = True

◆ user_options

list user_options
static
Initial value:
= [
('build-base=', None, 'directory to build applications in'),
('requirements-path=', None, 'path to requirements.txt file for pip'),
('platforms=', 'p', 'a list of platforms to build for'),
]