diff --git a/include/eepp/core/memorymanager.hpp b/include/eepp/core/memorymanager.hpp index 39c18d1d4..870bcf9cb 100644 --- a/include/eepp/core/memorymanager.hpp +++ b/include/eepp/core/memorymanager.hpp @@ -58,9 +58,9 @@ class EE_API MemoryManager { return data; } - inline static void* allocate( size_t size ) { return malloc( size ); } + static void* allocate( size_t size ); - inline static void* reallocate( void* ptr, size_t size ) { return realloc( ptr, size ); } + static void* reallocate( void* ptr, size_t size ); static size_t getPeakMemoryUsage(); diff --git a/premake4.lua b/premake4.lua index cd43546ee..273873452 100644 --- a/premake4.lua +++ b/premake4.lua @@ -393,6 +393,10 @@ function build_base_cpp_configuration( package_name ) set_xcode_config() build_arch_configuration() + if _OPTIONS["with-static-eepp"] then + defines { "EE_STATIC" } + end + configuration "debug" defines { "DEBUG", "EE_DEBUG", "EE_MEMORY_MANAGER" } flags { "Symbols" } @@ -1157,6 +1161,9 @@ solution "eepp" includedirs { "include", "src/modules/maps/include/", "src/modules/maps/src/" } files { "src/modules/maps/src/**.cpp" } defines { "EE_MAPS_STATIC" } + if _OPTIONS["with-static-eepp"] then + defines { "EE_STATIC" } + end if not is_vs() then buildoptions{ "-std=c++17" } else @@ -1172,6 +1179,9 @@ solution "eepp" files { "src/modules/maps/src/**.cpp" } links { "eepp-shared" } defines { "EE_MAPS_EXPORTS" } + if _OPTIONS["with-static-eepp"] then + defines { "EE_STATIC" } + end if not is_vs() then buildoptions{ "-std=c++17" } else @@ -1216,6 +1226,9 @@ solution "eepp" set_targetdir("libs/" .. os.get_real() .. "/") includedirs { "include", "src/modules/eterm/include/","src/modules/eterm/src/" } files { "src/modules/eterm/src/**.cpp" } + if _OPTIONS["with-static-eepp"] then + defines { "EE_STATIC" } + end if not is_vs() then buildoptions{ "-std=c++17" } else diff --git a/premake5.lua b/premake5.lua index d5cdfa3f4..7765f82a2 100644 --- a/premake5.lua +++ b/premake5.lua @@ -222,6 +222,10 @@ function build_base_cpp_configuration( package_name ) set_xcode_config() build_arch_configuration() + if _OPTIONS["with-static-eepp"] then + defines { "EE_STATIC" } + end + filter "action:not vs*" buildoptions { "-Wall" } @@ -889,6 +893,9 @@ workspace "eepp" incdirs { "include", "src/modules/maps/include/","src/modules/maps/src/" } files { "src/modules/maps/src/**.cpp" } defines { "EE_MAPS_STATIC" } + if _OPTIONS["with-static-eepp"] then + defines { "EE_STATIC" } + end build_base_cpp_configuration( "eepp-maps-static" ) filter "action:not vs*" buildoptions { "-Wall" } @@ -915,6 +922,9 @@ workspace "eepp" incdirs { "include", "src/modules/physics/include/","src/modules/physics/src/" } files { "src/modules/physics/src/**.cpp", "src/eepp/physics/constraints/*.cpp" } defines { "EE_PHYSICS_STATIC" } + if _OPTIONS["with-static-eepp"] then + defines { "EE_STATIC" } + end build_base_cpp_configuration( "eepp-physics-static" ) filter "action:not vs*" buildoptions { "-Wall" } @@ -940,7 +950,9 @@ workspace "eepp" targetdir("libs/" .. os.target() .. "/") incdirs { "include", "src/modules/eterm/include/","src/modules/eterm/src/" } files { "src/modules/eterm/src/**.cpp" } - links { "chipmunk-static" } + if _OPTIONS["with-static-eepp"] then + defines { "EE_STATIC" } + end build_base_cpp_configuration( "eterm" ) filter "action:not vs*" buildoptions { "-Wall" } diff --git a/src/eepp/core/memorymanager.cpp b/src/eepp/core/memorymanager.cpp index 7e2087246..d330e2907 100644 --- a/src/eepp/core/memorymanager.cpp +++ b/src/eepp/core/memorymanager.cpp @@ -28,6 +28,10 @@ AllocatedPointer::AllocatedPointer( void* data, const std::string& file, int lin mTrack = track; } +void* MemoryManager::allocate( size_t size ) { return malloc( size ); } + +void* MemoryManager::reallocate( void* ptr, size_t size ) { return realloc( ptr, size ); } + void* MemoryManager::addPointerInPlace( void* place, const AllocatedPointer& aAllocatedPointer ) { AllocatedPointerMapIt it = sMapPointers.find( place ); diff --git a/src/eepp/system/translator.cpp b/src/eepp/system/translator.cpp index 4eedd41c0..8b75ed968 100644 --- a/src/eepp/system/translator.cpp +++ b/src/eepp/system/translator.cpp @@ -7,6 +7,7 @@ #include #include #include +#define PUGIXML_HEADER_ONLY #include namespace EE { namespace System { diff --git a/src/eepp/ui/uidropdownlist.cpp b/src/eepp/ui/uidropdownlist.cpp index 6dec2627f..18ea6fcc5 100644 --- a/src/eepp/ui/uidropdownlist.cpp +++ b/src/eepp/ui/uidropdownlist.cpp @@ -5,6 +5,7 @@ #include #include #include +#define PUGIXML_HEADER_ONLY #include namespace EE { namespace UI { diff --git a/src/eepp/ui/uilistbox.cpp b/src/eepp/ui/uilistbox.cpp index 9e69da35f..b67f1c2a1 100644 --- a/src/eepp/ui/uilistbox.cpp +++ b/src/eepp/ui/uilistbox.cpp @@ -9,6 +9,7 @@ #include #include #include +#define PUGIXML_HEADER_ONLY #include namespace EE { namespace UI { diff --git a/src/eepp/ui/uimenu.cpp b/src/eepp/ui/uimenu.cpp index c8ca1e3e9..db84a4589 100644 --- a/src/eepp/ui/uimenu.cpp +++ b/src/eepp/ui/uimenu.cpp @@ -6,6 +6,7 @@ #include #include #include +#define PUGIXML_HEADER_ONLY #include namespace EE { namespace UI { diff --git a/src/eepp/ui/uimenubar.cpp b/src/eepp/ui/uimenubar.cpp index f7f1f4588..9a7fe5594 100644 --- a/src/eepp/ui/uimenubar.cpp +++ b/src/eepp/ui/uimenubar.cpp @@ -4,6 +4,7 @@ #include #include #include +#define PUGIXML_HEADER_ONLY #include namespace EE { namespace UI { diff --git a/src/eepp/ui/uiscenenode.cpp b/src/eepp/ui/uiscenenode.cpp index 3fd38d4a6..ebdb8ae8c 100644 --- a/src/eepp/ui/uiscenenode.cpp +++ b/src/eepp/ui/uiscenenode.cpp @@ -21,6 +21,7 @@ #include #include #include +#define PUGIXML_HEADER_ONLY #include using namespace EE::Network; diff --git a/src/eepp/ui/uitextinput.cpp b/src/eepp/ui/uitextinput.cpp index abad9a80f..fbee4210a 100644 --- a/src/eepp/ui/uitextinput.cpp +++ b/src/eepp/ui/uitextinput.cpp @@ -13,6 +13,7 @@ #include #include #include +#define PUGIXML_HEADER_ONLY #include namespace EE { namespace UI { diff --git a/src/eepp/ui/uiwidget.cpp b/src/eepp/ui/uiwidget.cpp index 22b43e3a6..84bacd440 100644 --- a/src/eepp/ui/uiwidget.cpp +++ b/src/eepp/ui/uiwidget.cpp @@ -16,6 +16,7 @@ #include #include #include +#define PUGIXML_HEADER_ONLY #include using namespace EE::Window; diff --git a/src/eepp/ui/uiwidgettable.cpp b/src/eepp/ui/uiwidgettable.cpp index 263ba5dff..1eba295ba 100644 --- a/src/eepp/ui/uiwidgettable.cpp +++ b/src/eepp/ui/uiwidgettable.cpp @@ -1,5 +1,6 @@ #include #include +#define PUGIXML_HEADER_ONLY #include namespace EE { namespace UI { diff --git a/src/eepp/ui/uiwindow.cpp b/src/eepp/ui/uiwindow.cpp index 60cb29f65..cb97da68c 100644 --- a/src/eepp/ui/uiwindow.cpp +++ b/src/eepp/ui/uiwindow.cpp @@ -14,6 +14,7 @@ #include #include #include +#define PUGIXML_HEADER_ONLY #include namespace EE { namespace UI { diff --git a/src/tools/uieditor/uieditor.cpp b/src/tools/uieditor/uieditor.cpp index 2f44730ce..39a5fcccc 100644 --- a/src/tools/uieditor/uieditor.cpp +++ b/src/tools/uieditor/uieditor.cpp @@ -1,5 +1,6 @@ #include "uieditor.hpp" #include +#define PUGIXML_HEADER_ONLY #include namespace uieditor {