From 76a4caa577653a9bb27322ff50205c7aad449414 Mon Sep 17 00:00:00 2001
From: Joseph Walton-Rivers <joseph@walton-rivers.uk>
Date: Sun, 20 Nov 2022 20:35:52 +0000
Subject: [PATCH] add checks for detecting if lua is supported to demo

---
 demo/demo/main.cpp                                  | 10 ++++++++--
 demo/demo/rollball.cpp                              |  7 ++++---
 integrations/lua/include/fggl/script/lua/module.hpp |  2 ++
 3 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/demo/demo/main.cpp b/demo/demo/main.cpp
index fbb3a1a..d98a6a4 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 ec8a050..4242194 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 e904f51..c3e2c72 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"
-- 
GitLab