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 the WorkingFolder, otherwise they are assumed to be in the sub-folders descibed by the SourceName, IncludeName and ObjName arguments.

SourceFiles:

Object of class "list" is a "BSysSourceFile" list that names the source files of the project.

Packages:

Object of class "character" is a string list that names the packages that this library is depenedent on (C/C++ include dependencies).

Includes:

Object of class "character" is a string list that contains the include paths of external dependencies of the library code.

Defines:

Object of class "character" is a string list that contains preprocessor (#defines) defines required to compile the code.

Libraries:

Object of class "character" is a string 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 a string list naming additional gcc flags to apply when compiling .c files.

CXXFLAGS:

Object of class "character" is a string list naming additional gcc flags to apply when compiling .cpp files.

FFLAGS:

Object of class "character" is a string list naming additional gcc flags to apply when compiling .f files.

LDFLAGS:

Object of class "character" is a string list naming additional gcc flags to apply when linking .o files.

LDLIBS:

Object of class "character" is a string list naming additional gcc linker flags to apply when linking .o files.

DEFINES:

Object of class "character" is a string list that contains preprocessor (#defines) defines supplied when compiling the code.

IsDebug:

Object of class "logical" is a Boolean that indicates whether to create a debug build.

DebugState:

Object of class "list" used internally to manage debugging.

Methods

buildMakefile

signature(.Object = "BSysProject"): see buildMakefile

includePath

signature(.Object = "BSysProject"): see includePath

initProjectFromFolder

signature(.Object = "BSysProject"): see initProjectFromFolder

installIncludePath

signature(.Object = "BSysProject"): see installIncludePath

installLibraryPath

signature(.Object = "BSysProject"): see installLibraryPath

libraryPath

signature(.Object = "BSysProject"): see libraryPath

loadLibrary

signature(.Object = "BSysProject"): see loadLibrary

make

signature(.Object = "BSysProject"): see make

objPath

signature(.Object = "BSysProject"): see objPath

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>


[Package BuildSys version 1.1.2 Index]