MesaSetWorkspaceName :: (String)
Sets the current workspace name, should only be called once
MesaInitWorkspace :: (Table)
Creates a new workspace
-- Config value list:
MesaInitWorkspace({
Projects = {
-- List of workspace projects in BUILD ORDER, pulled with MesaProjectRef
},
Tools = {
-- List of workspace tools, pulled with MesaFindTool
},
SDKs = {
-- List of workspace SDKs pulled with MesaSDKRef
}
})
MesaSetProjectName :: (String)
Sets the project name, should be called before MesaInitProject
MesaInitProject :: (Table)
Creates a new project, should be called after MesaInitProject
MesaInitProject({
-- List of source files to compile
Sources = {
"src/main.cpp"
},
-- List of include directories for the project
Includes = {
GlobalIncludes -- See MesaSetWorkspaceGlobals
},
-- List of requires projects/libraries for the project
Require = {
MesaPkgProjectRef("FusionClient"),
MesaPkgProjectRef("FusionClientHeaders"),
},
-- Optional: Generates a static, or dynamic library from the project, instead of an executable
--PackageTarget = {
-- OutputType = "Dynamic", -- Dynamic for a DLL/SO file, or Static for a LIB/A file
-- OutputName = "Game", -- Name of the static/dynamic library
-- RawOutputName = true -- Should mesa append "lib" to OutputName?
--},
-- Build config
Build = {
EnableDebugSymbols = true -- Should -g be passed to the compiler, generating debug symbols?
}
})
MesaProjectRef :: (String)
Reference a project
MesaPkgConfig :: (String)
This feature is only avalible on GNU/Linux systems
Locate a package using pkg-config
MesaHasFeature :: (String)
Checks if the given feature is avalible, feature names listed below
- PkgConfig, supported on Linux
MesaPkgProjectRef :: (String)
Create a package reference from a project
MesaSetCompiler :: (String)
Set the compiler identifier to use for the workspace, compiler IDs listed below
- MinGW_G++, MinGW G++ compiler
- GNU_G++, GNU G++ compiler
MesaSetWorkspaceGlobals :: (Table)
Set the workspace globals
MesaSetWorkspaceGlobals({
GlobalIncludes = { "include", "FusionClient/include" }
})
MesaLog :: (String)
Log a message to the console
MesaFindTool :: (String)
Locate a mesa tool, tools should be placed in:
- mesa_tools/TOOLNAME.mdll
- config/mesa/tools/TOOLNAME.mdll
MesaSDKRef :: (String)
Reference and sdk located at the given position