Skip to content

Commit

Permalink
Use a static BpsImporter plugin with bundled Magnum.
Browse files Browse the repository at this point in the history
  • Loading branch information
mosra committed Dec 20, 2021
1 parent b0778a7 commit 9475d1e
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 3 deletions.
17 changes: 14 additions & 3 deletions src/esp/batched_sim/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,12 @@ endif()
if(MAGNUM_RENDERER)
find_package(Corrade REQUIRED PluginManager)
find_package(Magnum REQUIRED GL GlfwApplication Trade MeshTools Shaders DebugTools)
corrade_add_plugin(BpsImporter "/" "/" BpsImporter.conf BpsImporter.cpp)
if(MAGNUM_BUILD_STATIC)
find_package(MagnumPlugins REQUIRED BasisImporter)
corrade_add_static_plugin(BpsImporter ";" BpsImporter.conf BpsImporter.cpp)
else()
corrade_add_plugin(BpsImporter "/" "/" BpsImporter.conf BpsImporter.cpp)
endif()
target_link_libraries(BpsImporter PUBLIC Magnum::Trade)
endif()

Expand Down Expand Up @@ -64,8 +69,6 @@ if(MAGNUM_RENDERER)
MagnumRenderer.cpp
MagnumRendererDemo.cpp)

add_dependencies(MagnumRendererDemo BpsImporter)

target_link_libraries(MagnumRendererDemo PRIVATE
Magnum::Application
Magnum::DebugTools
Expand All @@ -74,4 +77,12 @@ if(MAGNUM_RENDERER)
Magnum::Shaders
Magnum::Trade
Magnum::MeshTools)

if(MAGNUM_BUILD_STATIC)
target_link_libraries(MagnumRendererDemo PRIVATE
MagnumPlugins::BasisImporter
BpsImporter)
else()
add_dependencies(MagnumRendererDemo BpsImporter)
endif()
endif()
7 changes: 7 additions & 0 deletions src/esp/batched_sim/MagnumRenderer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,13 @@
#include <Magnum/Trade/SceneData.h>
#include <Magnum/Trade/TextureData.h>

#ifdef MAGNUM_BUILD_STATIC
int importStaticPlugins() {
CORRADE_PLUGIN_IMPORT(BpsImporter)
return 0;
} CORRADE_AUTOMATIC_INITIALIZER(importStaticPlugins);
#endif

namespace Cr = Corrade;
namespace Mn = Magnum;

Expand Down
4 changes: 4 additions & 0 deletions src/esp/batched_sim/MagnumRendererDemo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,11 @@ class MagnumRendererDemo: public Mn::Platform::Application {
MagnumRendererDemo::MagnumRendererDemo(const Arguments& arguments): Mn::Platform::Application{arguments, Mn::NoCreate} {
Cr::Utility::Arguments args;
args.addArgument("file").setHelp("file", "bps file to load")
#ifdef MAGNUM_BUILD_STATIC
.addOption('I', "importer", "BpsImporter")
#else
.addNamedArgument('I', "importer")
#endif
.setHelp("importer", "path to the bps importer plugin")
.addBooleanOption("profile")
.setHelp("profile", "profile frame times")
Expand Down

0 comments on commit 9475d1e

Please sign in to comment.