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
,.cpp
files) in the project. IncludeName
:-
Object of class
"character"
that is the sub-path / sub-drectory of the include folder (containing.h
,.hpp
files) in the project. ObjName
:-
Object of class
"character"
that is he sub-path / sub-drectory of the object folder (containing the compiled.o
files) 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
,IncludeName
andObjName
arguments. SourceFiles
:-
Object of class
"list"
is a"BSysSourceFile" list
that names the source files of the project. Packages
:-
Object of class
"character"
is astring list
that names the packages that this library is depenedent on (C/C++ include dependencies). Includes
:-
Object of class
"character"
is astring list
that contains the include paths of external dependencies of the library code. Defines
:-
Object of class
"character"
is astring list
that contains preprocessor (#defines) defines required to compile the code. Libraries
:-
Object of class
"character"
is astring list
that 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 list
naming additional gcc flags to apply when compiling.c
files. CXXFLAGS
:-
Object of class
"character"
is astring list
naming additional gcc flags to apply when compiling.cpp
files. FFLAGS
:-
Object of class
"character"
is astring list
naming additional gcc flags to apply when compiling.f
files. LDFLAGS
:-
Object of class
"character"
is astring list
naming additional gcc flags to apply when linking.o
files. LDLIBS
:-
Object of class
"character"
is astring list
naming additional gcc linker flags to apply when linking.o
files. DEFINES
:-
Object of class
"character"
is astring list
that contains preprocessor (#defines) defines supplied when compiling the code. IsDebug
:-
Object of class
"logical"
is aBoolean
that 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>