almost done

This commit is contained in:
2025-12-28 01:39:26 +02:00
parent bf5ca2c23b
commit 9a2ccd9cf0
16 changed files with 211 additions and 62 deletions

View File

@@ -3,10 +3,11 @@
#include "tier1/interface.h"
#include "tier1/utlvector.h"
#include "tier1/utlstring.h"
struct BuildOutput_t
{
const char *m_szName;
};
struct BuildOutputs_t
@@ -17,15 +18,21 @@ struct BuildOutputs_t
struct BuildFile_t
{
CUtlString m_szOutputFile;
void *m_pLibrary;
CUtlVector<BuildOutputs_t> m_compiledProjects;
struct BuildFile_t *m_pNext;
};
abstract_class IProjectBuilder
{
virtual BuildFile_t *BuildProject( const char *szPath ) = 0;
public:
virtual BuildFile_t *BuildProject( const char *szProjectName, const char *szPath ) = 0;
};
IProjectBuilder *ProjectBuilder();
#define PROJECT_BUILDER_INTERFACE_NAME "ProjectBuilder001"
#endif

View File

View File

@@ -90,7 +90,8 @@ public:
class CBuildDependentFile
{
public:
CBuildDependentFile( const char *psz );
};
//-----------------------------------------------------------------------------
@@ -102,11 +103,12 @@ class CBuildDependentFile
// }
//-----------------------------------------------------------------------------
#define DECLARE_BUILD_STAGE(sz) \
int __build_stage_##sz(); \
CBuildStage __##sz##_build_stage(#sz, __build_stage_##sz); \
int __build_stage_##sz()
static int __build_stage_##sz(); \
static CBuildStage __##sz##_build_stage(#sz, __build_stage_##sz); \
static int __build_stage_##sz()
#define ADD_DEPENDENCY_BUILD_FILE(sz) \
#define ADD_DEPENDENCY_BUILD_FILE(name, path) \
static CBuildDependentFile __##name##DependencyFile(path);
#define ADD_OUTPUT_LIBRARY(sz) \
@@ -116,7 +118,7 @@ int __build_stage_##sz()
struct BuildFileInfo_t
{
CUtlVector<const char*> m_dependantFile;
CUtlVector<const char*> m_dependantFiles;
CUtlVector<CBuildStage*> m_stages;
};

View File

@@ -1,11 +0,0 @@
#include "tier1/interface.h"
#include "helper.h"
static BuildFileInfo_t buildfileinfo = {};
BuildFileInfo_t *GetBuildFileInfo()
{
return &buildfileinfo;
}
EXPOSE_INTERFACE_GLOBALVAR(BuildFileInfo_t, BuildFileInfo_t, BUILD_FILE_INFO_INTERFACE_NAME, buildfileinfo);

View File

@@ -46,7 +46,7 @@ enum EWindowsSubsystem
struct LinkProject_t: public CPUProject_t
{
public:
void AddObject( Object_t& object );
void AddObject( Object_t object );
// output file
ELinkType linkType;

11
fpc/public/lsp.h Normal file
View File

@@ -0,0 +1,11 @@
#ifndef LSP_H
#define LSP_H
#include "tier0/platform.h"
abstract_class IBasicLSP
{
virtual void GenerateConfig() = 0;
};
#endif