diff --git a/CMakeLists.txt b/CMakeLists.txt index 3fd163e5a..6ca031d50 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,12 +4,22 @@ project(PathShagged) if(MSVC) # Shaddup MSVC add_definitions(-DUNICODE=1 -D_UNICODE=1 -D__SSE__=1 -D_CRT_SECURE_NO_WARNINGS=1 -DD_SCL_SECURE_NO_WARNINGS=1 /wd4267 /wd4244 /wd4305) + + # Link-time Code Generation for Release builds + set(CMAKE_C_FLAGS_RELEASE "/DNDEBUG /O2 /Oy /GL /Gy /MD") + set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") + set(CMAKE_C_FLAGS_RELWITHDEBINFO "/DNDEBUG /Zi /O2 /Oy- /GL /Gy /MD") + set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}") + set(CMAKE_EXE_LINKER_FLAGS_RELEASE "/RELEASE /LTCG /OPT:REF /OPT:ICF /INCREMENTAL:NO") + set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "/DEBUG /RELEASE /LTCG /OPT:REF /OPT:ICF /INCREMENTAL:NO /DEBUGTYPE:cv,fixup") + else() if (CMAKE_COMPILER_IS_GNUCXX) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpermissive") message(WARNING "GCC needs -fpermissive for nested type redeclarations; expect lotsa warnings!!") endif() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -Wno-multichar -fno-exceptions") + endif() if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") diff --git a/Editor/Space.cpp b/Editor/Space.cpp index 5525b816a..e58f87b90 100644 --- a/Editor/Space.cpp +++ b/Editor/Space.cpp @@ -131,26 +131,22 @@ Space* Space::NewSpaceFromConfigStream(ViewManager& vm, Space* parent, ConfigRea { #ifdef URDE_BINARY_CONFIGS Class cls = Class(r.readUint32Big()); - return BuildNewSpace(vm, cls, parent, r); #else Class cls = Class(r.readUint32("class")); - return BuildNewSpace(vm, cls, parent, r); #endif + return BuildNewSpace(vm, cls, parent, r); } RootSpace* Space::NewRootSpaceFromConfigStream(ViewManager& vm, ConfigReader& r) { #ifdef URDE_BINARY_CONFIGS Class cls = Class(r.readUint32Big()); - if (cls != Class::RootSpace) - return nullptr; - return BuildNewSpace(vm, cls, r); #else Class cls = Class(r.readUint32("class")); +#endif if (cls != Class::RootSpace) return nullptr; return new RootSpace(vm, r); -#endif } } diff --git a/Editor/Space.hpp b/Editor/Space.hpp index b3e533902..616edcbd6 100644 --- a/Editor/Space.hpp +++ b/Editor/Space.hpp @@ -88,7 +88,7 @@ public: { m_state.read(r); #ifdef URDE_BINARY_CONFIGS - m_child.reset(NewSpaceFromConfigStream(vm, this, r)); + m_spaceTree.reset(NewSpaceFromConfigStream(vm, this, r)); #else r.enterSubRecord("spaceTree"); m_spaceTree.reset(NewSpaceFromConfigStream(vm, this, r));