From b39f38d1a0d3ae65ea99c5cb6a144f2af87975a0 Mon Sep 17 00:00:00 2001 From: NishiOwO Date: Fri, 11 Apr 2025 15:51:48 +0900 Subject: [PATCH] separate files --- .gitignore | 2 + .gitmodules | 10 +- {external => engine/external}/lua | 0 {external => engine/external}/miniaudio | 0 {external => engine/external}/ode | 0 {external => engine/external}/stb | 0 {external => engine/external}/zlib | 0 engine/premake5.lua | 171 +++++++++++++++++++++++ premake5.lua | 172 +----------------------- 9 files changed, 179 insertions(+), 176 deletions(-) rename {external => engine/external}/lua (100%) rename {external => engine/external}/miniaudio (100%) rename {external => engine/external}/ode (100%) rename {external => engine/external}/stb (100%) rename {external => engine/external}/zlib (100%) create mode 100644 engine/premake5.lua diff --git a/.gitignore b/.gitignore index 7ff4485..da3e75e 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,5 @@ Makefile /bin /obj /lib +/engine/obj +/engine/lib diff --git a/.gitmodules b/.gitmodules index fdbfb1f..92062bb 100644 --- a/.gitmodules +++ b/.gitmodules @@ -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 diff --git a/external/lua b/engine/external/lua similarity index 100% rename from external/lua rename to engine/external/lua diff --git a/external/miniaudio b/engine/external/miniaudio similarity index 100% rename from external/miniaudio rename to engine/external/miniaudio diff --git a/external/ode b/engine/external/ode similarity index 100% rename from external/ode rename to engine/external/ode diff --git a/external/stb b/engine/external/stb similarity index 100% rename from external/stb rename to engine/external/stb diff --git a/external/zlib b/engine/external/zlib similarity index 100% rename from external/zlib rename to engine/external/zlib diff --git a/engine/premake5.lua b/engine/premake5.lua new file mode 100644 index 0000000..a6119a0 --- /dev/null +++ b/engine/premake5.lua @@ -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 diff --git a/premake5.lua b/premake5.lua index 15acaa2..9e34c9f 100644 --- a/premake5.lua +++ b/premake5.lua @@ -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"