Skip to content

Commit

Permalink
Oss release 28.0.0-rc5 created 2023-12-08-13-59 (#116)
Browse files Browse the repository at this point in the history
see CHANGELOG.md for details

Original commit sha: ccbdc29b52328cf97262bfcdd3495471c9622ddf

Co-authored-by: Ramses Tech User <[email protected]>
Co-authored-by: Daniel Haas <[email protected]>
Co-authored-by: Mirko Sova <[email protected]>
Co-authored-by: Violin Yanev <[email protected]>
Co-authored-by: Carsten Rohn <[email protected]>
Co-authored-by: Tobias Hammer <[email protected]>
Co-authored-by: Bernhard Kisslinger <[email protected]>
Co-authored-by: Martin Veith <[email protected]>
Co-authored-by: Jonathan Conrad <[email protected]>
Co-authored-by: Mohamed Sharaf-El-Deen <[email protected]>
Co-authored-by: Markus Keppler <[email protected]>
Co-authored-by: Chan Tong Yan <[email protected]>
  • Loading branch information
13 people authored Dec 11, 2023
1 parent 02d9cd5 commit 53bb582
Show file tree
Hide file tree
Showing 29 changed files with 100 additions and 43 deletions.
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
# Ramses Changelog

28.0.0-rc5
-------------------
### Fixed <a name=28.0.0-rc5.Fixed></a>
- Fixed renderer logging configuration caused by 2 logger instances

28.0.0-rc4
-------------------
### Changed <a name=28.0.0-rc4.Changed></a>
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ CMAKE_MINIMUM_REQUIRED(VERSION 3.13)
set(RAMSES_VERSION_MAJOR 28)
set(RAMSES_VERSION_MINOR 0)
set(RAMSES_VERSION_PATCH 0)
set(RAMSES_VERSION_POSTFIX "-rc4")
set(RAMSES_VERSION_POSTFIX "-rc5")
set(RAMSES_VERSION "${RAMSES_VERSION_MAJOR}.${RAMSES_VERSION_MINOR}.${RAMSES_VERSION_PATCH}${RAMSES_VERSION_POSTFIX}")

project(ramses-sdk
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ cd test-cmake.config

SET PATH=%INSTALL_DIR%/bin;%PATH%

cmake -G%CMAKE_GENERATOR% -DCMAKE_PREFIX_PATH="%INSTALL_DIR%/lib" --build test-cmake.config %SCRIPT_DIR%/shared-lib-check/
cmake -G%CMAKE_GENERATOR% -DCMAKE_PREFIX_PATH="%INSTALL_DIR%/lib" %SCRIPT_DIR%/shared-lib-check/
cmake --build . --config %BUILD_CONFIG% --target run-all

::check for errors
Expand Down
49 changes: 36 additions & 13 deletions scripts/ci/installation-check/check-shared-lib-symbols.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,9 @@ def file_to_symbols(lib_file, is_shared_lib):
# run c++filt to demangle output from nm
cppfilt_command = ['c++filt', '-r']
cppfilt_process_result = subprocess.run(cppfilt_command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, input=nm_process_result.stdout)
cppfilt_process_output_std = cppfilt_process_result.stdout.decode('utf-8')
return cppfilt_process_result.stdout.decode('utf-8')

def find_api_symbols(symbols):
ignore_list = [
# ignore ramses internal and Impl
r'ramses::internal::',
Expand All @@ -53,22 +54,44 @@ def file_to_symbols(lib_file, is_shared_lib):
# 0000000000001d30 T ramses::Appearance::unbindInput(ramses::UniformInput const&)
symbol_regex = re.compile(rf"^([0-9A-Fa-f]+)(\s+)[TB](\s+)({ignore_regex}.*)", re.MULTILINE)

lib_symbols = [s.group(4) for s in re.finditer(symbol_regex, cppfilt_process_output_std)]
return [s.group(4) for s in re.finditer(symbol_regex, symbols)]

def check_missing_api_symbols(static_lib_symbols, shared_lib_symbols):
static_lib_symbols = find_api_symbols(static_lib_symbols)
shared_lib_symbols = find_api_symbols(shared_lib_symbols)
missing_symbols = [s for s in static_lib_symbols if s not in shared_lib_symbols]
if len(static_lib_symbols) == 0:
raise Exception("No API symbols found in static lib (internal error)")
if len(shared_lib_symbols) == 0:
raise Exception("No API symbols found in shared lib (internal error)")
if len(missing_symbols) > 0:
raise Exception(f"FOUND MISSING SYMBOLS: {missing_symbols}")

def check_unique_exports(headless, full):
# check interface between headless and full shared lib
symbols = [
'ramses::internal::ErrorReporting',
'ramses::internal::FrameworkFactoryRegistry',
'ramses::internal::RamsesFrameworkImpl',
'ramses::internal::GetRamsesLogger',
]
for s in symbols:
if s not in headless:
raise Exception(f"Symbol missing in headless-shared-lib: {s}")
if s in full:
raise Exception(f"Unexpected symbol in full-shared-lib:: {s}")

return lib_symbols
static_lib_headless_symbols = file_to_symbols(client_static_lib_dir, False)
static_lib_headless_symbols += file_to_symbols(framework_static_lib_dir, False)
shared_lib_headless_symbols = file_to_symbols(headless_shared_lib_dir, True)

static_lib_symbols = file_to_symbols(client_static_lib_dir, False)
static_lib_symbols += file_to_symbols(framework_static_lib_dir, False)
if not headless_only:
static_lib_symbols += file_to_symbols(renderer_static_lib_dir, False)
check_missing_api_symbols(static_lib_headless_symbols, shared_lib_headless_symbols)

shared_lib_symbols = file_to_symbols(headless_shared_lib_dir, True)
if not headless_only:
shared_lib_symbols += file_to_symbols(full_shared_lib_dir, True)

missing_symbols = [s for s in static_lib_symbols if s not in shared_lib_symbols]
if len(missing_symbols) > 0:
raise Exception(f"FOUND MISSING SYMBOLS: {missing_symbols}")
static_lib_symbols = file_to_symbols(renderer_static_lib_dir, False)
shared_lib_symbols = file_to_symbols(full_shared_lib_dir, True)
check_missing_api_symbols(static_lib_symbols, shared_lib_symbols)
check_unique_exports(shared_lib_headless_symbols, shared_lib_symbols)


if __name__ == "__main__":
Expand Down
1 change: 0 additions & 1 deletion src/client/impl/RamsesClientImpl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@
#include "internal/PlatformAbstraction/Collections/HashMap.h"
#include "internal/PlatformAbstraction/PlatformTime.h"
#include "internal/Core/Utils/LogMacros.h"
#include "internal/Core/Utils/RamsesLogger.h"
#include "ClientFactory.h"
#include "impl/FrameworkFactoryRegistry.h"
#include "internal/Ramsh/Ramsh.h"
Expand Down
2 changes: 1 addition & 1 deletion src/framework/impl/RamsesFrameworkConfigImpl.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#pragma once

#include "TCPConfig.h"
#include "internal/Core/Utils/RamsesLogger.h"
#include "impl/RamsesLoggerImpl.h"
#include "ramses/framework/IThreadWatchdogNotification.h"
#include "ramses/framework/EFeatureLevel.h"
#include "impl/ThreadWatchdogConfig.h"
Expand Down
2 changes: 1 addition & 1 deletion src/framework/impl/RamsesFrameworkImpl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
#include "ramses-sdk-build-config.h"
#include "internal/Communication/TransportCommon/CommunicationSystemFactory.h"
#include "internal/Communication/TransportCommon/ICommunicationSystem.h"
#include "internal/Core/Utils/RamsesLogger.h"
#include "impl/RamsesLoggerImpl.h"
#include "impl/RamsesFrameworkConfigImpl.h"
#include "ramses/framework/RamsesFrameworkConfig.h"
#include "internal/Ramsh/RamshStandardSetup.h"
Expand Down
18 changes: 18 additions & 0 deletions src/framework/impl/RamsesLoggerImpl.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
// -------------------------------------------------------------------------
// Copyright (C) 2023 BMW AG
// -------------------------------------------------------------------------
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.
// -------------------------------------------------------------------------

#include "impl/RamsesLoggerImpl.h"

namespace ramses::internal
{
RamsesLogger& GetRamsesLogger()
{
static RamsesLogger logger;
return logger;
}
}
19 changes: 19 additions & 0 deletions src/framework/impl/RamsesLoggerImpl.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
// -------------------------------------------------------------------------
// Copyright (C) 2023 BMW AG
// -------------------------------------------------------------------------
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.
// -------------------------------------------------------------------------

#pragma once

#include "ramses/framework/APIExport.h"
#include "internal/Core/Utils/RamsesLogger.h"

namespace ramses::internal
{
class RamsesLogger;

RAMSES_IMPL_EXPORT RamsesLogger& GetRamsesLogger();
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#include "internal/Core/Utils/AndroidLogger/AndroidLogAppender.h"
#include "internal/Core/Utils/LogMessage.h"
#include "internal/Core/Utils/LogContext.h"
#include "internal/Core/Utils/RamsesLogger.h"
#include "impl/RamsesLoggerImpl.h"
#include "internal/Core/Utils/InplaceStringTokenizer.h"
#include <string>

Expand Down
1 change: 0 additions & 1 deletion src/framework/internal/Core/Utils/LogMacros.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
// -------------------------------------------------------------------------

#include "internal/Core/Utils/LogMacros.h"
#include "internal/Core/Utils/RamsesLogger.h"

namespace ramses::internal
{
Expand Down
2 changes: 1 addition & 1 deletion src/framework/internal/Core/Utils/LogMacros.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

#include "internal/Core/Utils/LogMessage.h"
#include "internal/Core/Utils/LogContext.h"
#include "internal/Core/Utils/RamsesLogger.h"
#include "impl/RamsesLoggerImpl.h"
#include "internal/PlatformAbstraction/Collections/StringOutputStream.h"
#include "internal/PlatformAbstraction/FmtBase.h"

Expand Down
6 changes: 0 additions & 6 deletions src/framework/internal/Core/Utils/RamsesLogger.h
Original file line number Diff line number Diff line change
Expand Up @@ -104,10 +104,4 @@ namespace ramses::internal
std::vector<LogAppenderBase*> m_logAppenders;
LogContext& m_fileTransferContext;
};

inline RamsesLogger& GetRamsesLogger()
{
static RamsesLogger logger;
return logger;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#pragma once

#include "internal/PlatformAbstraction/Runnable.h"
#include "internal/Core/Utils/RamsesLogger.h"
#include "impl/RamsesLoggerImpl.h"

#include <cassert>
#include <string>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
#include "internal/Ramsh/RamshCommandPrintLogLevels.h"
#include "internal/Ramsh/Ramsh.h"
#include "internal/Core/Utils/LogMacros.h"
#include "internal/Core/Utils/RamsesLogger.h"
#include "impl/RamsesLoggerImpl.h"

namespace ramses::internal
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#include "internal/Ramsh/RamshCommandSetConsoleLogLevel.h"
#include "internal/Ramsh/Ramsh.h"
#include "internal/Core/Utils/LogMacros.h"
#include "internal/Core/Utils/RamsesLogger.h"
#include "impl/RamsesLoggerImpl.h"
#include "internal/Core/Utils/LogHelper.h"

namespace ramses::internal
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#include "internal/Ramsh/RamshCommandSetContextLogLevel.h"
#include "internal/Ramsh/Ramsh.h"
#include "internal/Core/Utils/LogMacros.h"
#include "internal/Core/Utils/RamsesLogger.h"
#include "impl/RamsesLoggerImpl.h"
#include "internal/Core/Utils/LogHelper.h"

namespace ramses::internal
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#include "internal/Ramsh/RamshCommandSetContextLogLevelFilter.h"
#include "internal/Ramsh/Ramsh.h"
#include "internal/Core/Utils/LogMacros.h"
#include "internal/Core/Utils/RamsesLogger.h"
#include "impl/RamsesLoggerImpl.h"

namespace ramses::internal
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
#include "internal/Ramsh/RamshCommunicationChannelConsoleSignalHandler.h"
#include "internal/Ramsh/Ramsh.h"
#include "internal/Ramsh/RamshTools.h"
#include "internal/Core/Utils/RamsesLogger.h"
#include "impl/RamsesLoggerImpl.h"
#include "internal/PlatformAbstraction/PlatformEnvironmentVariables.h"
#include "internal/Core/Utils/LogMacros.h"
#include "internal/PlatformAbstraction/ConsoleInput.h"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
#include "internal/Ramsh/Ramsh.h"
#include "internal/Ramsh/RamshTools.h"
#include "internal/Core/Utils/LogMacros.h"
#include "internal/Core/Utils/RamsesLogger.h"
#include "impl/RamsesLoggerImpl.h"

#include <string>

Expand Down
2 changes: 1 addition & 1 deletion tests/benchmarks/logic/serialization.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#include "benchmarksetup.h"
#include "ramses/client/logic/LuaScript.h"
#include "ramses/client/logic/Property.h"
#include "internal/Core/Utils/RamsesLogger.h"
#include "impl/RamsesLoggerImpl.h"

#include "fmt/format.h"
#include <fstream>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#include "TestForkingController.h"
#include "TestForkerApplication.h"
#include "EmbeddedCompositingTestMessages.h"
#include "internal/Core/Utils/RamsesLogger.h"
#include "impl/RamsesLoggerImpl.h"

#include <sys/wait.h>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#include "RendererTestUtils.h"
#include "internal/Core/Utils/StringUtils.h"
#include "EmbeddedCompositingTests.h"
#include "internal/Core/Utils/RamsesLogger.h"
#include "impl/RamsesLoggerImpl.h"
#include "EmbeddedCompositingTestFramework/TestForkingController.h"
#include "ramses/framework/RamsesFrameworkConfig.h"
#include <pwd.h>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

#pragma once

#include "internal/Core/Utils/RamsesLogger.h"
#include "impl/RamsesLoggerImpl.h"

namespace ramses::internal
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#pragma once

#include "internal/Core/Utils/LogContext.h"
#include "internal/Core/Utils/RamsesLogger.h"
#include "impl/RamsesLoggerImpl.h"

namespace ramses::internal
{
Expand Down
2 changes: 1 addition & 1 deletion tests/unittests/framework/Ramsh/RamshTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
#include <gtest/gtest.h>
#include "internal/Ramsh/RamshTools.h"
#include "internal/PlatformAbstraction/PlatformThread.h"
#include "internal/Core/Utils/RamsesLogger.h"
#include "impl/RamsesLoggerImpl.h"

namespace ramses::internal
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
#include "impl/ErrorReporting.h"
#include "impl/RamsesObjectImpl.h"
#include "ramses/framework/RamsesObject.h"
#include "internal/Core/Utils/RamsesLogger.h"
#include "impl/RamsesLoggerImpl.h"
#include "internal/Core/Utils/LogMacros.h"
#include "internal/Core/Utils/ThreadBarrier.h"
#include "LogTestUtils.h"
Expand Down
2 changes: 1 addition & 1 deletion tools/ramses-daemon/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
#include "impl/RamsesFrameworkConfigImpl.h"
#include "internal/Ramsh/RamshStandardSetup.h"
#include "internal/Ramsh/RamshCommandExit.h"
#include "internal/Core/Utils/RamsesLogger.h"
#include "impl/RamsesLoggerImpl.h"
#include "internal/Core/Utils/StatisticCollection.h"
#include "internal/Core/Utils/LogMacros.h"
#include <memory>
Expand Down
2 changes: 1 addition & 1 deletion tools/ramses-viewer/ViewerGui.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ namespace ramses::internal
{
ImGui::MenuItem("Show Scene Window", "F11", &m_settings.showWindow);
if (m_app.getLogicViewer())
ImGui::MenuItem("Show Logic Window", "F10", &m_settings.showLogicWindow);
ImGui::MenuItem(m_settings.showWindow ? "Undock Logic Window" : "Show Logic Window", "F10", &m_settings.showLogicWindow);
if (m_app.getGuiMode() == ViewerGuiApp::GuiMode::On)
{
ImGui::MenuItem("Show Scene in Window", nullptr, &m_settings.showSceneInWindow);
Expand Down

0 comments on commit 53bb582

Please sign in to comment.