mirror of
https://github.com/OpenSpace/OpenSpace.git
synced 2026-01-19 18:49:52 -06:00
Feature/CMake (#1443)
General CMake cleanup/overhaul * Enable precompiled headers for all projects * Move specifications itto separate CMakeLists files * Add openspace-core as a subdirectory * Move handle_modules functionality into modules/CMakeLists.txt * Move handleapplications logic into apps/CMakeLists.txt * Introduce openspace-module-collection interface library to simplify inclusion of modules in applications * Turn module initialization into a two-step process to adapt to the new minimal dependency scenario * Compile time speedup * Remove circular dependencies between modules and core preventing multithreaded compilation on MSVC * Build Spice multithreaded and as static library * Remove dependency from core to module-webbrowser * Remove unused dependency from kameleon * Remove additional unnecessary dependencies * Cleanup volume/kameleon/kameleonvolume modules * Fix visibility issues. Restrict include paths * Compile kameleon in parallel * Other cleanup * Only copy CEF files from one target (hard-coded to OpenSpace right now) * Remove unused instrumentation code * Remove the ability to render AABB for globes as it caused a circular dependency between GlobeBrowsing and Debugging * Removing compiler and cppcheck warnings * Turn almost all includes into non-system includes * Don't warn on deprecrated copy * Updated submodules
This commit is contained in:
@@ -45,14 +45,22 @@ void ModuleEngine::initialize(
|
||||
{
|
||||
ZoneScoped
|
||||
|
||||
for (OpenSpaceModule* m : AllModules()) {
|
||||
std::vector<OpenSpaceModule*> modules = AllModules();
|
||||
|
||||
for (OpenSpaceModule* m : modules) {
|
||||
registerModule(std::unique_ptr<OpenSpaceModule>(m));
|
||||
}
|
||||
|
||||
for (OpenSpaceModule* m : modules) {
|
||||
const std::string& identifier = m->identifier();
|
||||
auto it = moduleConfigurations.find(identifier);
|
||||
ghoul::Dictionary configuration;
|
||||
if (it != moduleConfigurations.end()) {
|
||||
configuration = it->second;
|
||||
}
|
||||
registerModule(std::unique_ptr<OpenSpaceModule>(m), configuration);
|
||||
m->initialize(configuration);
|
||||
addPropertySubOwner(m);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -99,9 +107,7 @@ void ModuleEngine::deinitializeGL() {
|
||||
LDEBUG("Finished deinitializing OpenGL of modules");
|
||||
}
|
||||
|
||||
void ModuleEngine::registerModule(std::unique_ptr<OpenSpaceModule> mod,
|
||||
const ghoul::Dictionary& configuration)
|
||||
{
|
||||
void ModuleEngine::registerModule(std::unique_ptr<OpenSpaceModule> mod) {
|
||||
ZoneScoped
|
||||
|
||||
ghoul_assert(mod, "Module must not be nullptr");
|
||||
@@ -121,8 +127,6 @@ void ModuleEngine::registerModule(std::unique_ptr<OpenSpaceModule> mod,
|
||||
}
|
||||
|
||||
LDEBUG(fmt::format("Registering module '{}'", mod->identifier()));
|
||||
mod->initialize(this, configuration);
|
||||
addPropertySubOwner(mod.get());
|
||||
LDEBUG(fmt::format("Registered module '{}'", mod->identifier()));
|
||||
_modules.push_back(std::move(mod));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user