working physics
This commit is contained in:
@@ -4,15 +4,20 @@
|
||||
#include "tier1/utlstring.h"
|
||||
|
||||
|
||||
CUtlString rapier_lib;
|
||||
#define ROOT "../"
|
||||
#define EXTERNAL ROOT"external/"
|
||||
#define FUNNYSTDLIB EXTERNAL"funnystdlib/"
|
||||
ADD_DEPENDENCY_BUILD_FILE(tier0, FUNNYSTDLIB"tier0/build.cpp");
|
||||
ADD_DEPENDENCY_BUILD_FILE(tier1, FUNNYSTDLIB"tier1/build.cpp");
|
||||
DECLARE_BUILD_STAGE(rapier)
|
||||
{
|
||||
Target_t target = Target_t::DefaultTarget();
|
||||
target.abi = TARGET_ABI_GNU;
|
||||
CUtlString rapier_lib;
|
||||
CUtlString szTarget = target.GetTriplet();
|
||||
if (CommandLine()->CheckParam("-norust"))
|
||||
return 0;
|
||||
rapier_lib = CUtlString("rapier/target/%s/release/librapier_rtt.a",szTarget.GetString());
|
||||
rapier_lib = CUtlString("target/%s/release/librapier_rtt.a",szTarget.GetString());
|
||||
V_printf("%s\n",rapier_lib.GetString());
|
||||
CUtlVector<CUtlString> cargo_args = {
|
||||
"build",
|
||||
@@ -29,10 +34,29 @@ DECLARE_BUILD_STAGE(rapier)
|
||||
"--crate",
|
||||
"rapier_rtt",
|
||||
"--output",
|
||||
"../public/physics_gen.h",
|
||||
"physics.h",
|
||||
};
|
||||
runner->Run("cbindgen", "rapier", cbindgen_args);
|
||||
runner->Wait();
|
||||
|
||||
CProject_t cProject = {};
|
||||
cProject.m_szName = "RapierPhysics";
|
||||
cProject.files = {
|
||||
"physics.cpp",
|
||||
};
|
||||
cProject.includeDirectories = {
|
||||
ROOT"public",
|
||||
FUNNYSTDLIB"public",
|
||||
};
|
||||
cProject.bFPIC = true;
|
||||
LinkProject_t linkProject = ccompiler->Compile(&cProject);
|
||||
linkProject.linkType = ELINK_DYNAMIC_LIBRARY;
|
||||
linkProject.objects.AppendTail({rapier_lib});
|
||||
linkProject.objects.AppendTail({GET_PROJECT_OBJECT(tier1, "tier1")});
|
||||
CUtlString sz_libRapierPhysics = linker->Link(&linkProject);
|
||||
|
||||
ADD_OUTPUT_OBJECT("physics", sz_libRapierPhysics);
|
||||
|
||||
|
||||
return 0;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user