separate files

This commit is contained in:
NishiOwO 2025-04-11 15:51:48 +09:00
parent 9450a1c8d8
commit b39f38d1a0
No known key found for this signature in database
GPG Key ID: 27EF69B208EB9343
9 changed files with 179 additions and 176 deletions

2
.gitignore vendored
View File

@ -13,3 +13,5 @@ Makefile
/bin
/obj
/lib
/engine/obj
/engine/lib

10
.gitmodules vendored
View File

@ -1,16 +1,16 @@
[submodule "external/lua"]
path = external/lua
path = engine/external/lua
url = https://github.com/lua/lua
branch = v5.4
[submodule "external/stb"]
path = external/stb
path = engine/external/stb
url = https://github.com/nothings/stb
[submodule "external/zlib"]
path = external/zlib
path = engine/external/zlib
url = https://github.com/madler/zlib
[submodule "external/miniaudio"]
path = external/miniaudio
path = engine/external/miniaudio
url = https://github.com/mackron/miniaudio
[submodule "external/ode"]
path = external/ode
path = engine/external/ode
url = https://github.com/thomasmarsh/ODE

View File

View File

View File

171
engine/premake5.lua Normal file
View File

@ -0,0 +1,171 @@
project("Engine")
language("C")
filter("options:engine=static")
kind("StaticLib")
defines({
"ODE_LIB"
})
filter("options:engine=dynamic")
kind("SharedLib")
defines({
"ODE_DLL",
"_DLL"
})
filter({
"options:engine=dynamic",
"system:windows"
})
files({
"engine.rc"
})
link_stuffs("options:engine=dynamic")
filter("configurations:Debug")
defines({
"DEBUG",
"_DEBUG"
})
symbols("On")
filter("configurations:Release")
defines({
"NDEBUG",
"dNODEBUG",
})
optimize("On")
msvc_filters()
filter({})
targetdir("lib/%{cfg.buildcfg}/%{cfg.platform}")
targetname("goldfish")
includedirs({
"include",
"external/lua",
"external/zlib",
"external/miniaudio",
"external/stb"
})
files({
"include/**.h",
"*.c",
"external/zlib/*.h",
"external/zlib/*.c",
"external/lua/l*.h",
"external/lua/l*.c",
})
removefiles({
"external/lua/ltests.c",
"external/lua/ltests.h"
})
filter({})
removefiles({
"external/lua/lua.c"
})
filter("system:windows")
files({
"thread/win32/gf_thread.c"
})
filter("system:not windows")
files({
"thread/posix/gf_thread.c"
})
filter({})
-- Begin ODE
includedirs({
"external/ode/include",
"external/ode/ode/src",
"external/ode/ode/src/joints",
"external/ode/OPCODE",
"external/ode/GIMPACT/include",
"external/ode/libccd/src/custom",
"external/ode/libccd/src"
})
files({
"external/ode/include/ode/*.h",
"external/ode/ode/src/joints/*.h",
"external/ode/ode/src/joints/*.cpp",
"external/ode/ode/src/*.h",
"external/ode/ode/src/*.c",
"external/ode/ode/src/*.cpp"
})
removefiles({
"external/ode/ode/src/collision_trimesh_trimesh_old.cpp",
"external/ode/ode/src/collision_trimesh_opcode.cpp",
"external/ode/ode/src/collision_trimesh_disabled.cpp"
})
includedirs({
"external/ode/ou/include"
})
files({
"external/ode/ou/include/**.h",
"external/ode/ou/src/**.h",
"external/ode/ou/src/**.cpp"
})
defines({
"_OU_NAMESPACE=odeou",
"_OU_FEATURE_SET=_OU_FEATURE_SET_TLS"
})
files({
"external/ode/GIMPACT/**.h",
"external/ode/GIMPACT/**.cpp"
})
files({
"external/ode/libccd/src/custom/ccdcustom/*.h",
"external/ode/libccd/src/ccd/*.h",
"external/ode/libccd/src/*.c"
})
defines({
"dLIBCCD_ENABLED",
"dLIBCCD_INTERNAL",
"dLIBCCD_BOX_CYL",
"dLIBCCD_CYL_CYL",
"dLIBCCD_CAP_CYL",
"dLIBCCD_CONVEX_BOX",
"dLIBCCD_CONVEX_CAP",
"dLIBCCD_CONVEX_CYL",
"dLIBCCD_CONVEX_SPHERE",
"dLIBCCD_CONVEX_CONVEX"
})
-- End ODE
default_stuffs()
for k,v in pairs(backends) do
for k2,v2 in pairs(v["backends"]) do
filter({
"options:backend=" .. k,
"options:" .. k .. "=" .. k2
})
files({
"graphic/" .. k .. "/*.c",
"graphic/" .. k .. "/" .. k2 .. "/*.c"
})
end
end
if _ACTION and _ACTION ~= "clean" then
local text = ""
text = text .. "#ifndef _ODE_CONFIG_H_\n"
text = text .. "#define _ODE_CONFIG_H_\n"
text = text .. "#define dTRIMESH_ENABLED 1\n"
text = text .. "#define dTRIMESH_GIMPACT 1\n"
text = text .. "#define dOU_ENABLED 1\n"
text = text .. "#define dATOMICS_ENABLED 1\n"
text = text .. "#define dTLS_ENABLED 1\n"
text = text .. "#define dBUILTIN_THREADING_IMPL_ENABLED 1\n"
text = text .. "#include \"typedefs.h\"\n"
text = text .. "#endif\n"
if not(os.isfile("external/ode/ode/src/config.h")) then
local outfile = io.open("external/ode/ode/src/config.h", "w")
outfile:write(text)
outfile:close()
end
generateheader("external/ode/include/ode/precision.h", "@ODE_PRECISION@", "dDOUBLE")
generateheader("external/ode/libccd/src/ccd/precision.h", "@CCD_PRECISION@", "CCD_DOUBLE")
generateheader("external/ode/include/ode/version.h", "@ODE_VERSION@", "Custom-ODE")
end

View File

@ -261,174 +261,4 @@ project("NishBox")
linkoptions({"/MANIFEST"})
filter({})
project("Engine")
language("C")
filter("options:engine=static")
kind("StaticLib")
defines({
"ODE_LIB"
})
filter("options:engine=dynamic")
kind("SharedLib")
defines({
"ODE_DLL",
"_DLL"
})
filter({
"options:engine=dynamic",
"system:windows"
})
files({
"engine/engine.rc"
})
link_stuffs("options:engine=dynamic")
filter("configurations:Debug")
defines({
"DEBUG",
"_DEBUG"
})
symbols("On")
filter("configurations:Release")
defines({
"NDEBUG",
"dNODEBUG",
})
optimize("On")
msvc_filters()
filter({})
targetdir("lib/%{cfg.buildcfg}/%{cfg.platform}")
targetname("goldfish")
includedirs({
"engine/include",
"external/lua",
"external/zlib",
"external/miniaudio",
"external/stb"
})
files({
"engine/include/**.h",
"engine/*.c",
"external/zlib/*.h",
"external/zlib/*.c",
"external/lua/l*.h",
"external/lua/l*.c",
})
removefiles({
"external/lua/ltests.c",
"external/lua/ltests.h"
})
filter({})
removefiles({
"external/lua/lua.c"
})
filter("system:windows")
files({
"engine/thread/win32/gf_thread.c"
})
filter("system:not windows")
files({
"engine/thread/posix/gf_thread.c"
})
filter({})
-- Begin ODE
includedirs({
"external/ode/include",
"external/ode/ode/src",
"external/ode/ode/src/joints",
"external/ode/OPCODE",
"external/ode/GIMPACT/include",
"external/ode/libccd/src/custom",
"external/ode/libccd/src"
})
files({
"external/ode/include/ode/*.h",
"external/ode/ode/src/joints/*.h",
"external/ode/ode/src/joints/*.cpp",
"external/ode/ode/src/*.h",
"external/ode/ode/src/*.c",
"external/ode/ode/src/*.cpp"
})
removefiles({
"external/ode/ode/src/collision_trimesh_trimesh_old.cpp",
"external/ode/ode/src/collision_trimesh_opcode.cpp",
"external/ode/ode/src/collision_trimesh_disabled.cpp"
})
includedirs({
"external/ode/ou/include"
})
files({
"external/ode/ou/include/**.h",
"external/ode/ou/src/**.h",
"external/ode/ou/src/**.cpp"
})
defines({
"_OU_NAMESPACE=odeou",
"_OU_FEATURE_SET=_OU_FEATURE_SET_TLS"
})
files({
"external/ode/GIMPACT/**.h",
"external/ode/GIMPACT/**.cpp"
})
files({
"external/ode/libccd/src/custom/ccdcustom/*.h",
"external/ode/libccd/src/ccd/*.h",
"external/ode/libccd/src/*.c"
})
defines({
"dLIBCCD_ENABLED",
"dLIBCCD_INTERNAL",
"dLIBCCD_BOX_CYL",
"dLIBCCD_CYL_CYL",
"dLIBCCD_CAP_CYL",
"dLIBCCD_CONVEX_BOX",
"dLIBCCD_CONVEX_CAP",
"dLIBCCD_CONVEX_CYL",
"dLIBCCD_CONVEX_SPHERE",
"dLIBCCD_CONVEX_CONVEX"
})
-- End ODE
default_stuffs()
for k,v in pairs(backends) do
for k2,v2 in pairs(v["backends"]) do
filter({
"options:backend=" .. k,
"options:" .. k .. "=" .. k2
})
files({
"engine/graphic/" .. k .. "/*.c",
"engine/graphic/" .. k .. "/" .. k2 .. "/*.c"
})
end
end
if _ACTION and _ACTION ~= "clean" then
local text = ""
text = text .. "#ifndef _ODE_CONFIG_H_\n"
text = text .. "#define _ODE_CONFIG_H_\n"
text = text .. "#define dTRIMESH_ENABLED 1\n"
text = text .. "#define dTRIMESH_GIMPACT 1\n"
text = text .. "#define dOU_ENABLED 1\n"
text = text .. "#define dATOMICS_ENABLED 1\n"
text = text .. "#define dTLS_ENABLED 1\n"
text = text .. "#define dBUILTIN_THREADING_IMPL_ENABLED 1\n"
text = text .. "#include \"typedefs.h\"\n"
text = text .. "#endif\n"
if not(os.isfile("external/ode/ode/src/config.h")) then
local outfile = io.open("external/ode/ode/src/config.h", "w")
outfile:write(text)
outfile:close()
end
generateheader("external/ode/include/ode/precision.h", "@ODE_PRECISION@", "dDOUBLE")
generateheader("external/ode/libccd/src/ccd/precision.h", "@CCD_PRECISION@", "CCD_DOUBLE")
generateheader("external/ode/include/ode/version.h", "@ODE_VERSION@", "Custom-ODE")
end
include "engine"