Compare commits
No commits in common. "factory" and "devel" have entirely different histories.
231
0001-build-add-cmake-option-to-skip-Lua-components-1175.patch
Normal file
231
0001-build-add-cmake-option-to-skip-Lua-components-1175.patch
Normal file
@ -0,0 +1,231 @@
|
|||||||
|
From a54f12b4c29e949458949d5bede2f74b1aa8a34a Mon Sep 17 00:00:00 2001
|
||||||
|
From: jengelh <jengelh@inai.de>
|
||||||
|
Date: Mon, 29 Jun 2020 03:43:01 +0200
|
||||||
|
Subject: [PATCH] build: add cmake option to skip Lua components (#1175)
|
||||||
|
|
||||||
|
sol.hpp has a lot of templates which, when building with -g
|
||||||
|
-fsanitize=address -fsanitize=undefined, incur long compile time and
|
||||||
|
high memory usage (~8500MB) [applies to Scripting/Export/Archive.cpp
|
||||||
|
and Scripting/Export/Graphics.cpp].
|
||||||
|
|
||||||
|
Add a cmake option so I can skip building some parts and focus on
|
||||||
|
the rest.
|
||||||
|
|
||||||
|
Co-authored-by: Simon Judd <sirjuddington@gmail.com>
|
||||||
|
---
|
||||||
|
src/Application/App.cpp | 8 ++++++++
|
||||||
|
src/CMakeLists.txt | 11 ++++++++++-
|
||||||
|
src/MainEditor/UI/ArchivePanel.cpp | 10 ++++++++++
|
||||||
|
src/MainEditor/UI/MainWindow.cpp | 2 ++
|
||||||
|
src/MapEditor/UI/MapEditorWindow.cpp | 6 ++++++
|
||||||
|
5 files changed, 36 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
Index: SLADE-3.1.12/src/Application/App.cpp
|
||||||
|
===================================================================
|
||||||
|
--- SLADE-3.1.12.orig/src/Application/App.cpp
|
||||||
|
+++ SLADE-3.1.12/src/Application/App.cpp
|
||||||
|
@@ -450,8 +450,10 @@ bool App::init(vector<string>& args, dou
|
||||||
|
SAction::setBaseWxId(26000);
|
||||||
|
SAction::initActions();
|
||||||
|
|
||||||
|
+#ifdef USE_LUA
|
||||||
|
// Init lua
|
||||||
|
Lua::init();
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
// Init UI
|
||||||
|
UI::init(ui_scale);
|
||||||
|
@@ -515,8 +517,10 @@ bool App::init(vector<string>& args, dou
|
||||||
|
Log::info("Loading game configurations");
|
||||||
|
Game::init();
|
||||||
|
|
||||||
|
+#ifdef USE_LUA
|
||||||
|
// Init script manager
|
||||||
|
ScriptManager::init();
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
// Show the main window
|
||||||
|
MainEditor::windowWx()->Show(true);
|
||||||
|
@@ -644,8 +648,10 @@ void App::exit(bool save_config)
|
||||||
|
// Save custom special presets
|
||||||
|
Game::saveCustomSpecialPresets();
|
||||||
|
|
||||||
|
+#ifdef USE_LUA
|
||||||
|
// Save custom scripts
|
||||||
|
ScriptManager::saveUserScripts();
|
||||||
|
+#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
// Close all open archives
|
||||||
|
@@ -666,8 +672,10 @@ void App::exit(bool save_config)
|
||||||
|
files = temp.GetNext(&filename);
|
||||||
|
}
|
||||||
|
|
||||||
|
+#ifdef USE_LUA
|
||||||
|
// Close lua
|
||||||
|
Lua::close();
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
// Close DUMB
|
||||||
|
dumb_exit();
|
||||||
|
Index: SLADE-3.1.12/src/CMakeLists.txt
|
||||||
|
===================================================================
|
||||||
|
--- SLADE-3.1.12.orig/src/CMakeLists.txt
|
||||||
|
+++ SLADE-3.1.12/src/CMakeLists.txt
|
||||||
|
@@ -105,6 +105,9 @@ find_package(OpenGL REQUIRED)
|
||||||
|
find_package(GLEW REQUIRED)
|
||||||
|
find_package(Freetype REQUIRED)
|
||||||
|
find_package(CURL REQUIRED)
|
||||||
|
+if (NOT NO_LUA)
|
||||||
|
+ find_package(Lua REQUIRED)
|
||||||
|
+endif()
|
||||||
|
include_directories(
|
||||||
|
${FREEIMAGE_INCLUDE_DIR}
|
||||||
|
${SFML_INCLUDE_DIR}
|
||||||
|
@@ -133,6 +136,7 @@ endif ()
|
||||||
|
|
||||||
|
set(SLADE_SOURCES
|
||||||
|
)
|
||||||
|
+set(SLADE_SCRIPTING_SOURCES)
|
||||||
|
# Don't include external libraries here as they should be compiled separately
|
||||||
|
file(GLOB_RECURSE SLADE_SOURCES
|
||||||
|
Application/*.cpp
|
||||||
|
@@ -147,9 +151,14 @@ file(GLOB_RECURSE SLADE_SOURCES
|
||||||
|
OpenGL/*.cpp
|
||||||
|
UI/*.cpp
|
||||||
|
Utility/*.cpp
|
||||||
|
- Scripting/*.cpp
|
||||||
|
TextEditor/*.cpp
|
||||||
|
)
|
||||||
|
+if (NOT NO_LUA)
|
||||||
|
+ file(GLOB_RECURSE SLADE_SCRIPTING_SOURCES Scripting/*.cpp)
|
||||||
|
+ set(SLADE_SOURCES ${SLADE_SOURCES} ${SLADE_SCRIPTING_SOURCES})
|
||||||
|
+ ADD_DEFINITIONS(-DUSE_LUA)
|
||||||
|
+else ()
|
||||||
|
+endif ()
|
||||||
|
set(SLADE_HEADERS
|
||||||
|
)
|
||||||
|
file(GLOB_RECURSE SLADE_HEADERS *.h *.hpp)
|
||||||
|
Index: SLADE-3.1.12/src/MainEditor/UI/ArchivePanel.cpp
|
||||||
|
===================================================================
|
||||||
|
--- SLADE-3.1.12.orig/src/MainEditor/UI/ArchivePanel.cpp
|
||||||
|
+++ SLADE-3.1.12/src/MainEditor/UI/ArchivePanel.cpp
|
||||||
|
@@ -522,7 +522,9 @@ void ArchivePanel::addMenus()
|
||||||
|
SAction::fromId("arch_replace_maps")->addToMenu(menu_clean);
|
||||||
|
menu_archive->AppendSubMenu(menu_clean, "&Maintenance");
|
||||||
|
auto menu_scripts = new wxMenu();
|
||||||
|
+#ifdef USE_LUA
|
||||||
|
ScriptManager::populateEditorScriptMenu(menu_scripts, ScriptManager::ScriptType::Archive, "arch_script");
|
||||||
|
+#endif
|
||||||
|
menu_archive->AppendSubMenu(menu_scripts, "&Run Script");
|
||||||
|
}
|
||||||
|
if (!menu_entry)
|
||||||
|
@@ -546,7 +548,9 @@ void ArchivePanel::addMenus()
|
||||||
|
menu_entry->AppendSeparator();
|
||||||
|
SAction::fromId("arch_entry_bookmark")->addToMenu(menu_entry);
|
||||||
|
auto menu_scripts = new wxMenu();
|
||||||
|
+#ifdef USE_LUA
|
||||||
|
ScriptManager::populateEditorScriptMenu(menu_scripts, ScriptManager::ScriptType::Entry, "arch_entry_script");
|
||||||
|
+#endif
|
||||||
|
menu_entry->AppendSubMenu(menu_scripts, "&Run Script");
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -3189,9 +3193,11 @@ bool ArchivePanel::handleAction(string i
|
||||||
|
dlg.ShowModal();
|
||||||
|
}
|
||||||
|
|
||||||
|
+#ifdef USE_LUA
|
||||||
|
// Archive->Scripts->...
|
||||||
|
else if (id == "arch_script")
|
||||||
|
ScriptManager::runArchiveScript(archive_, wx_id_offset);
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
@@ -3269,9 +3275,11 @@ bool ArchivePanel::handleAction(string i
|
||||||
|
else if (id == "arch_entry_openext")
|
||||||
|
openEntryExternal();
|
||||||
|
|
||||||
|
+#ifdef USE_LUA
|
||||||
|
// Entry->Run Script
|
||||||
|
else if (id == "arch_entry_script")
|
||||||
|
ScriptManager::runEntryScript(entry_list_->getSelectedEntries(), wx_id_offset, MainEditor::windowWx());
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
|
||||||
|
// Context menu actions
|
||||||
|
@@ -3785,6 +3793,7 @@ void ArchivePanel::onEntryListRightClick
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
+#ifdef USE_LUA
|
||||||
|
// Entry scripts
|
||||||
|
if (!ScriptManager::editorScripts(ScriptManager::ScriptType::Entry).empty())
|
||||||
|
{
|
||||||
|
@@ -3793,6 +3802,7 @@ void ArchivePanel::onEntryListRightClick
|
||||||
|
context.AppendSeparator();
|
||||||
|
context.AppendSubMenu(menu_scripts, "Run &Script");
|
||||||
|
}
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
// Popup the context menu
|
||||||
|
PopupMenu(&context);
|
||||||
|
Index: SLADE-3.1.12/src/MainEditor/UI/MainWindow.cpp
|
||||||
|
===================================================================
|
||||||
|
--- SLADE-3.1.12.orig/src/MainEditor/UI/MainWindow.cpp
|
||||||
|
+++ SLADE-3.1.12/src/MainEditor/UI/MainWindow.cpp
|
||||||
|
@@ -661,12 +661,14 @@ bool MainWindow::handleAction(string id)
|
||||||
|
if (id == "main_showstartpage")
|
||||||
|
openStartPageTab();
|
||||||
|
|
||||||
|
+#ifdef USE_LUA
|
||||||
|
// Tools->Run Script
|
||||||
|
if (id == "main_runscript")
|
||||||
|
{
|
||||||
|
ScriptManager::open();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
// Help->About
|
||||||
|
if (id == "main_about")
|
||||||
|
Index: SLADE-3.1.12/src/MapEditor/UI/MapEditorWindow.cpp
|
||||||
|
===================================================================
|
||||||
|
--- SLADE-3.1.12.orig/src/MapEditor/UI/MapEditorWindow.cpp
|
||||||
|
+++ SLADE-3.1.12/src/MapEditor/UI/MapEditorWindow.cpp
|
||||||
|
@@ -269,7 +269,9 @@ void MapEditorWindow::setupMenu()
|
||||||
|
// Tools menu
|
||||||
|
wxMenu* menu_tools = new wxMenu("");
|
||||||
|
menu_scripts_ = new wxMenu();
|
||||||
|
+#ifdef USE_LUA
|
||||||
|
ScriptManager::populateEditorScriptMenu(menu_scripts_, ScriptManager::ScriptType::Map, "mapw_script");
|
||||||
|
+#endif
|
||||||
|
menu_tools->AppendSubMenu(menu_scripts_, "Run Script");
|
||||||
|
SAction::fromId("mapw_runscript")->addToMenu(menu_tools);
|
||||||
|
menu->Append(menu_tools, "&Tools");
|
||||||
|
@@ -1136,7 +1138,9 @@ void MapEditorWindow::reloadScriptsMenu(
|
||||||
|
while (menu_scripts_->FindItemByPosition(0))
|
||||||
|
menu_scripts_->Delete(menu_scripts_->FindItemByPosition(0));
|
||||||
|
|
||||||
|
+#ifdef USE_LUA
|
||||||
|
ScriptManager::populateEditorScriptMenu(menu_scripts_, ScriptManager::ScriptType::Map, "mapw_script");
|
||||||
|
+#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
@@ -1436,6 +1440,7 @@ bool MapEditorWindow::handleAction(strin
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
+#ifdef USE_LUA
|
||||||
|
// Tools->Run Script
|
||||||
|
else if (id == "mapw_script")
|
||||||
|
{
|
||||||
|
@@ -1449,6 +1454,7 @@ bool MapEditorWindow::handleAction(strin
|
||||||
|
ScriptManager::open();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
BIN
3.1.13.tar.gz
(Stored with Git LFS)
Normal file
BIN
3.1.13.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user