diff --git a/demo/demo/main.cpp b/demo/demo/main.cpp index fbb3a1a1a5d7dc7129e9ff121a8ef6326895d17b..d98a6a40d3fe6afeb6853e7a07eb1b64056a2121 100644 --- a/demo/demo/main.cpp +++ b/demo/demo/main.cpp @@ -40,7 +40,10 @@ #include "fggl/data/assimp/module.hpp" #include "fggl/assets/module.hpp" #include "fggl/assets/packed/module.hpp" -#include "fggl/script/lua/module.hpp" + +#if __has_include("fggl/script/lua/module.hpp") + #include "fggl/script/lua/module.hpp" +#endif #include "GameScene.h" #include "rollball.hpp" @@ -85,7 +88,10 @@ int main(int argc, const char* argv[]) { moduleManager.use<fggl::assets::AssetFolders>(); moduleManager.use<fggl::assets::PackedAssets>(); moduleManager.use<fggl::entity::ECS>(); - moduleManager.use<fggl::script::Lua>(); + + #ifdef FGGL_HAS_LUA + moduleManager.use<fggl::script::Lua>(); + #endif // debug/testing use moduleManager.use<fggl::data::AssimpLoader>(); diff --git a/demo/demo/rollball.cpp b/demo/demo/rollball.cpp index ec8a05007e5b346f4272fc31402e37554953d401..4242194b9dee0fcd0923a689e270ffb720fb633a 100644 --- a/demo/demo/rollball.cpp +++ b/demo/demo/rollball.cpp @@ -81,9 +81,10 @@ namespace demo { m_phys = physService->create(&world(), entFactory); auto* scriptProvider = m_owner.service<fggl::script::ScriptProvider>(); - - m_scripts = scriptProvider->create(); - m_scripts->setGlobal("state", this); + if ( scriptProvider != nullptr ) { + m_scripts = scriptProvider->create(); + m_scripts->setGlobal("state", this); + } // asset loader auto* assetLoader = m_owner.service<fggl::assets::Loader>(); diff --git a/integrations/lua/include/fggl/script/lua/module.hpp b/integrations/lua/include/fggl/script/lua/module.hpp index e904f51dc1e540305a159dac879b029df045837f..c3e2c72e9118843b692da367ffde937c3f0ac4a6 100644 --- a/integrations/lua/include/fggl/script/lua/module.hpp +++ b/integrations/lua/include/fggl/script/lua/module.hpp @@ -19,6 +19,8 @@ #ifndef FGGL_INTEGRATIONS_LUA_SCRIPT_LUA_MODULE_HPP #define FGGL_INTEGRATIONS_LUA_SCRIPT_LUA_MODULE_HPP +#define FGGL_HAS_LUA + #include "fggl/modules/module.hpp" #include "fggl/entity/module.hpp" #include "fggl/script/engine.hpp"