![]() |
PyXMake Developer Guide 1.0
PyXMake
|
Abstract base class for all make objects. More...
Public Member Functions | |
__init__ (self, BuildID, Srcs, scratch=os.getcwd(), verbose=0, *args, **kwargs) | |
__posix__ (self, **kwargs) | |
AddIncludePath (self, includes) | |
AddDependencyPath (self, dependencies) | |
UseLibraries (self, libs) | |
SourcePath (self, path) | |
OutputPath (self, path, files="") | |
Environment (self, path, script="ifortvars.bat") | |
Preprocessing (self, cmdstring='', inend='', outend='', copyfiles=[], replace={'!DEC$ IF':'#IF','!DEC$ ELSE':'#ELSE','!DEC$ ENDIF':'#ENDIF'}) | |
Build (self, cmdstring, **kwargs) | |
Postprocessing (self, cmdstring='') | |
run (cls, **kwargs) | |
create (self, **kwargs) | |
![]() | |
__new__ (cls, *args, **kwargs) | |
recover (cls, *args) | |
classify (cls, *args, **kwargs) | |
jsonify (self) | |
update (self, **kwargs) | |
__repr__ (self) | |
__str__ (self) | |
__getstate__ (self) | |
__setstate__ (self, _dict) | |
Static Public Member Functions | |
__parser__ () | |
Detach () | |
F2CPreprocessing (PreprocessingFile) | |
sanitize (string, **kwargs) | |
setup (*args, **kwargs) | |
![]() | |
__getbase__ (base, cls) | |
Public Attributes | |
buildid = BuildID | |
Base string of build object. | |
list | srcs = [] |
Source file or folders. | |
list | bare = not BuildID and not self.srcs |
stype = kwargs.get("stype",'Fortran') | |
Source file type. | |
verbose = verbose | |
Level of verbosity of the current build object. | |
hasFoss = kwargs.get("foss", Utility.GetExecutable("choco") or Utility.GetPlatform() in ["linux"] or kwargs.get("bash",False)) | |
Toggle between free open source software and commercial 3rd party libraries. | |
scrtdir = os.getcwd() | |
Current scratch directory | |
srcdir = os.getcwd() | |
Default search directory for source files. | |
outdir = os.getcwd() | |
Default search directory for output. | |
_, self.intelpath, self.iniCompiler | intelpath = content |
Path to Intel Fortran Compiler (read from Paths.log or empty). | |
tuple | temps = () |
Tuple of data to be removed after job completion. | |
list | incdirs = [] |
List of include directories. | |
list | libdirs = [] |
List of library directories. | |
list | libs = [] |
List of actual libraries (by name) used during linking. | |
list | copyfiles = [] |
List of files to be copied to the output directory after finish. | |
str | iniCompiler = "" |
Default initialization of compiler script. | |
bool | setarch = True if kwargs.get('arch', None) in ['x86', 'x64'] else False |
Define the architecture for the build directly by using the keyword argument "arch". | |
msvsc = kwargs.get("msvsc",'vs2015') | |
Default version of Microsoft visual studio used by the Intel Fortran Compiler. | |
str | architecture = 'x86' |
Processor architecture. | |
str | postcmd = "" |
Post build command. | |
buildname = self.temps + (inputfile, ) | |
str | precmd = self.iniCompiler+" "+cmdstring |
Command executed during pre-build event. | |
compargs = cmdstring | |
Command line arguments passed in by the user. | |
str | makecmd = self.iniCompiler+" "+os.path.join(self.path2exe,self.exe)+" "+ cmd + cmdstring |
Command executed during build event. | |
mkl_dependency | |
Protected Attributes | |
list | _mkl_includes = [x for x in self.incdirs if "mkl" in x] |
Abstract base class for all make objects.
Parent class for all make objects.
Inherited from built-in ABCMeta & object. Compatible with both Python 2.x and 3.x.
PyXMake.Build.Make.Make.__init__ | ( | self, | |
BuildID, | |||
Srcs, | |||
scratch = os.getcwd(), | |||
verbose = 0, | |||
* | args, | ||
** | kwargs ) |
Low-level initialization of parent class.
Reimplemented from PyXMake.Tools.Utility.AbstractBase.
Reimplemented in PyXMake.Build.Make.CCxx, PyXMake.Build.Make.Coverage, PyXMake.Build.Make.Custom, PyXMake.Build.Make.Doxygen, PyXMake.Build.Make.Fortran, PyXMake.Build.Make.Latex, PyXMake.Build.Make.NSIS, PyXMake.Build.Make.Py2X, PyXMake.Build.Make.PyInstaller, PyXMake.Build.Make.PyReq, PyXMake.Build.Make.Sphinx, and PyXMake.Build.Make.SSH.
|
static |
PyXMake.Build.Make.Make.__posix__ | ( | self, | |
** | kwargs ) |
PyXMake.Build.Make.Make.AddDependencyPath | ( | self, | |
dependencies ) |
PyXMake.Build.Make.Make.AddIncludePath | ( | self, | |
includes ) |
PyXMake.Build.Make.Make.Build | ( | self, | |
cmdstring, | |||
** | kwargs ) |
Assemble command string for the main build event.
Reimplemented in PyXMake.Build.Make.CCxx, PyXMake.Build.Make.Coverage, PyXMake.Build.Make.Custom, PyXMake.Build.Make.Fortran, PyXMake.Build.Make.PyInstaller, and PyXMake.Build.Make.SSH.
PyXMake.Build.Make.Make.create | ( | self, | |
** | kwargs ) |
Execute make command
Reimplemented in PyXMake.Build.Make.CCxx, PyXMake.Build.Make.Coverage, PyXMake.Build.Make.Fortran, PyXMake.Build.Make.Latex, PyXMake.Build.Make.NSIS, PyXMake.Build.Make.PyInstaller, PyXMake.Build.Make.PyReq, PyXMake.Build.Make.Sphinx, and PyXMake.Build.Make.SSH.
|
static |
PyXMake.Build.Make.Make.Environment | ( | self, | |
path, | |||
script = "ifortvars.bat" ) |
Load an additional environment file prior to execution of all commands.
Reimplemented in PyXMake.Build.Make.SSH.
|
static |
PyXMake.Build.Make.Make.OutputPath | ( | self, | |
path, | |||
files = "" ) |
Define a new output directory. Output is written to the workspace by default.
Reimplemented in PyXMake.Build.Make.CCxx, PyXMake.Build.Make.Fortran, and PyXMake.Build.Make.SSH.
PyXMake.Build.Make.Make.Postprocessing | ( | self, | |
cmdstring = '' ) |
Assemble command string for the post-build event.
Reimplemented in PyXMake.Build.Make.SSH.
PyXMake.Build.Make.Make.Preprocessing | ( | self, | |
cmdstring = '', | |||
inend = '', | |||
outend = '', | |||
copyfiles = [], | |||
replace = {'!DEC$ IF':'#IF','!DEC$ ELSE':'#ELSE','!DEC$ ENDIF':'#ENDIF'} ) |
Assemble command string for the pre-build event.
Reimplemented in PyXMake.Build.Make.Fortran, PyXMake.Build.Make.PyInstaller, and PyXMake.Build.Make.PyReq.
PyXMake.Build.Make.Make.run | ( | cls, | |
** | kwargs ) |
|
static |
|
static |
PyXMake.Build.Make.Make.SourcePath | ( | self, | |
path ) |
PyXMake.Build.Make.Make.UseLibraries | ( | self, | |
libs ) |
|
protected |
str PyXMake.Build.Make.Make.architecture = 'x86' |
list PyXMake.Build.Make.Make.bare = not BuildID and not self.srcs |
PyXMake.Build.Make.Make.buildid = BuildID |
PyXMake.Build.Make.Make.buildname = self.temps + (inputfile, ) |
PyXMake.Build.Make.Make.compargs = cmdstring |
list PyXMake.Build.Make.Make.copyfiles = [] |
PyXMake.Build.Make.Make.hasFoss = kwargs.get("foss", Utility.GetExecutable("choco") or Utility.GetPlatform() in ["linux"] or kwargs.get("bash",False)) |
Toggle between free open source software and commercial 3rd party libraries.
On POSIX systems, only free open source software is supported. On Windows, the Intel Compiler Library as well as the package manager MINGW64 are natively supported. All other variants have no supported presets.
PyXMake.Build.Make.Make.incdirs = [] |
str PyXMake.Build.Make.Make.iniCompiler = "" |
PyXMake.Build.Make.Make.intelpath = content |
PyXMake.Build.Make.Make.libdirs = [] |
list PyXMake.Build.Make.Make.libs = [] |
PyXMake.Build.Make.Make.makecmd = self.iniCompiler+" "+os.path.join(self.path2exe,self.exe)+" "+ cmd + cmdstring |
PyXMake.Build.Make.Make.msvsc = kwargs.get("msvsc",'vs2015') |
PyXMake.Build.Make.Make.outdir = os.getcwd() |
PyXMake.Build.Make.Make.postcmd = "" |
PyXMake.Build.Make.Make.precmd = self.iniCompiler+" "+cmdstring |
PyXMake.Build.Make.Make.scrtdir = os.getcwd() |
PyXMake.Build.Make.Make.setarch = True if kwargs.get('arch', None) in ['x86', 'x64'] else False |
PyXMake.Build.Make.Make.srcdir = os.getcwd() |
PyXMake.Build.Make.Make.stype = kwargs.get("stype",'Fortran') |
tuple PyXMake.Build.Make.Make.temps = () |
PyXMake.Build.Make.Make.verbose = verbose |