| BSysProject-class {BuildSys} | R Documentation |
Class "BSysProject"
Description
BSysProject implements a build system based on GNU make that creates and
maintains (simply) makefiles in an R session and provides GUI debugging support
through Microsoft Visual Code.
Objects from the Class
Objects can be created by calls of the form:
new("BSysProject",
WorkingFolder,
Name,
SourceFiles,
SourceName,
IncludeName,
ObjName,
InstallLibraryName,
InstallIncludeName,
Flat,
Packages,
Includes,
Defines,
Libraries,
CFLAGS,
CXXFLAGS,
FFLAGS,
LDFLAGS,
LDLIBS,
DEFINES,
Debug)
For more information consult initProjectFromFolder.
Slots
WorkingFolder:-
Object of class
"character"that is the absolute path to the root folder of the project. ProjectName:-
Object of class
"character"that is the name given to the project and will form the basename of the shared library. SourceName:-
Object of class
"character"that is the sub-path / sub-drectory of the source folder (containing.c,.cppfiles) in the project. IncludeName:-
Object of class
"character"that is the sub-path / sub-drectory of the include folder (containing.h,.hppfiles) in the project. ObjName:-
Object of class
"character"that is he sub-path / sub-drectory of the object folder (containing the compiled.ofiles) in the project. InstallLibraryName:-
Object of class
"character"that is the sub-path / sub-drectory of the folder to install the compiled shared library to. InstallIncludeName:-
Object of class
"character"that is the sub-path / sub-drectory of the folder to install the shared library header files to. Flat:-
Object of class
"logical"that determines if the project is assumed flat or heirarchical. If flat then all the source and include files are assumed to reside in theWorkingFolder, otherwise they are assumed to be in the sub-folders descibed by theSourceName,IncludeNameandObjNamearguments. SourceFiles:-
Object of class
"list"is a"BSysSourceFile" listthat names the source files of the project. Packages:-
Object of class
"character"is astring listthat names the packages that this library is depenedent on (C/C++ include dependencies). Includes:-
Object of class
"character"is astring listthat contains the include paths of external dependencies of the library code. Defines:-
Object of class
"character"is astring listthat contains preprocessor (#defines) defines required to compile the code. Libraries:-
Object of class
"character"is astring listthat names the additional library dependencies needed to link the library. The format is as required by gcc. For instance,"-L/usr/local/lib -lexpat"would constitute a single item in the list. CFLAGS:-
Object of class
"character"is astring listnaming additional gcc flags to apply when compiling.cfiles. CXXFLAGS:-
Object of class
"character"is astring listnaming additional gcc flags to apply when compiling.cppfiles. FFLAGS:-
Object of class
"character"is astring listnaming additional gcc flags to apply when compiling.ffiles. LDFLAGS:-
Object of class
"character"is astring listnaming additional gcc flags to apply when linking.ofiles. LDLIBS:-
Object of class
"character"is astring listnaming additional gcc linker flags to apply when linking.ofiles. DEFINES:-
Object of class
"character"is astring listthat contains preprocessor (#defines) defines supplied when compiling the code. IsDebug:-
Object of class
"logical"is aBooleanthat indicates whether to create a debug build. DebugState:-
Object of class
"list"used internally to manage debugging.
Methods
- buildMakefile
signature(.Object = "BSysProject"): seebuildMakefile- includePath
signature(.Object = "BSysProject"): seeincludePath- initProjectFromFolder
signature(.Object = "BSysProject"): seeinitProjectFromFolder- installIncludePath
signature(.Object = "BSysProject"): seeinstallIncludePath- installLibraryPath
signature(.Object = "BSysProject"): seeinstallLibraryPath- libraryPath
signature(.Object = "BSysProject"): seelibraryPath- loadLibrary
signature(.Object = "BSysProject"): seeloadLibrary- make
signature(.Object = "BSysProject"): seemake- objPath
signature(.Object = "BSysProject"): seeobjPath- sourcePath
signature(.Object = "BSysProject"):sourcePath- unloadLibrary
signature(.Object = "BSysProject"):unloadLibrary- vcDebug
signature(.Object = "BSysProject"):vcDebug- clean
signature(.Object = "BSysProject"):clean
Author(s)
Paavo Jumppanen [aut, cre]
Maintainer: Paavo Jumppanen <paavo.jumppanen@csiro.au>