Allow to use env vars to override module configs
This commit is contained in:
parent
5472514f4b
commit
dc9c1e14c4
|
|
@ -3,11 +3,7 @@
|
|||
// For conditions of distribution and use, see copyright notice in Config.hpp
|
||||
|
||||
#include <Nazara/Audio/Audio.hpp>
|
||||
#include <Nazara/Audio/AudioBuffer.hpp>
|
||||
#include <Nazara/Audio/AudioSource.hpp>
|
||||
#include <Nazara/Audio/Config.hpp>
|
||||
#include <Nazara/Audio/DummyAudioDevice.hpp>
|
||||
#include <Nazara/Audio/Enums.hpp>
|
||||
#include <Nazara/Audio/OpenALDevice.hpp>
|
||||
#include <Nazara/Audio/OpenALLibrary.hpp>
|
||||
#include <Nazara/Audio/Formats/drwavLoader.hpp>
|
||||
|
|
@ -15,10 +11,8 @@
|
|||
#include <Nazara/Audio/Formats/libvorbisLoader.hpp>
|
||||
#include <Nazara/Audio/Formats/minimp3Loader.hpp>
|
||||
#include <Nazara/Core/CommandLineParameters.hpp>
|
||||
#include <Nazara/Core/Core.hpp>
|
||||
#include <Nazara/Core/EnvironmentVariables.hpp>
|
||||
#include <Nazara/Core/Error.hpp>
|
||||
#include <Nazara/Core/Log.hpp>
|
||||
#include <NazaraUtils/CallOnExit.hpp>
|
||||
#include <stdexcept>
|
||||
#include <Nazara/Audio/Debug.hpp>
|
||||
|
||||
|
|
@ -159,7 +153,7 @@ namespace Nz
|
|||
|
||||
void Audio::Config::Override(const CommandLineParameters& parameters)
|
||||
{
|
||||
if (parameters.HasFlag("no-audio"))
|
||||
if (parameters.HasFlag("no-audio") || TestEnvironmentVariable("NAZARA_NO_AUDIO"))
|
||||
noAudio = true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
#include <Nazara/Graphics/Graphics.hpp>
|
||||
#include <Nazara/Core/AppFilesystemComponent.hpp>
|
||||
#include <Nazara/Core/CommandLineParameters.hpp>
|
||||
#include <Nazara/Core/EnvironmentVariables.hpp>
|
||||
#include <Nazara/Graphics/DebugDrawPipelinePass.hpp>
|
||||
#include <Nazara/Graphics/DepthPipelinePass.hpp>
|
||||
#include <Nazara/Graphics/ForwardPipelinePass.hpp>
|
||||
|
|
@ -14,7 +15,6 @@
|
|||
#include <Nazara/Graphics/PipelinePassList.hpp>
|
||||
#include <Nazara/Graphics/PostProcessPipelinePass.hpp>
|
||||
#include <Nazara/Graphics/PredefinedMaterials.hpp>
|
||||
#include <Nazara/Graphics/PredefinedShaderStructs.hpp>
|
||||
#include <Nazara/Graphics/Formats/PipelinePassListLoader.hpp>
|
||||
#include <Nazara/Graphics/Formats/TextureLoader.hpp>
|
||||
#include <Nazara/Utility/Font.hpp>
|
||||
|
|
@ -542,10 +542,10 @@ namespace Nz
|
|||
|
||||
void Graphics::Config::Override(const CommandLineParameters& parameters)
|
||||
{
|
||||
if (parameters.HasFlag("use-dedicated-gpu"))
|
||||
if (parameters.HasFlag("use-dedicated-gpu") || TestEnvironmentVariable("NAZARA_USE_DEDICATED_GPU"))
|
||||
useDedicatedRenderDevice = true;
|
||||
|
||||
if (parameters.HasFlag("use-integrated-gpu"))
|
||||
if (parameters.HasFlag("use-integrated-gpu") || TestEnvironmentVariable("NAZARA_USE_INTEGRATED_GPU"))
|
||||
useDedicatedRenderDevice = false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,15 +5,9 @@
|
|||
#include <Nazara/Renderer/Renderer.hpp>
|
||||
#include <Nazara/Core/CommandLineParameters.hpp>
|
||||
#include <Nazara/Core/DynLib.hpp>
|
||||
#include <Nazara/Core/EnvironmentVariables.hpp>
|
||||
#include <Nazara/Core/Log.hpp>
|
||||
#include <Nazara/Core/StringExt.hpp>
|
||||
#include <Nazara/Platform/Platform.hpp>
|
||||
#include <Nazara/Renderer/RenderBuffer.hpp>
|
||||
#include <Nazara/Renderer/RendererImpl.hpp>
|
||||
#include <Nazara/Utility/Buffer.hpp>
|
||||
#include <Nazara/Utility/Image.hpp>
|
||||
#include <Nazara/Utility/Utility.hpp>
|
||||
#include <NazaraUtils/CallOnExit.hpp>
|
||||
#include <NazaraUtils/EnumArray.hpp>
|
||||
#include <frozen/string.h>
|
||||
#include <frozen/unordered_map.h>
|
||||
|
|
@ -217,8 +211,21 @@ namespace Nz
|
|||
void Renderer::Config::Override(const CommandLineParameters& parameters)
|
||||
{
|
||||
std::string_view value;
|
||||
auto GetParameter = [&](const std::string& paramName, const char* envName, std::string_view* var)
|
||||
{
|
||||
if (parameters.GetParameter(paramName, var))
|
||||
return true;
|
||||
|
||||
if (parameters.GetParameter("render-api", &value))
|
||||
if (const char* envValue = GetEnvironmentVariable(envName); envValue && *envValue != '\0')
|
||||
{
|
||||
*var = envValue;
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
};
|
||||
|
||||
if (GetParameter("render-api", "NAZARA_RENDER_API", &value))
|
||||
{
|
||||
constexpr auto renderAPIStr = frozen::make_unordered_map<frozen::string, RenderAPI>({
|
||||
{ "auto", RenderAPI::Unknown },
|
||||
|
|
@ -236,7 +243,7 @@ namespace Nz
|
|||
NazaraErrorFmt("unknown render API \"{0}\"", value);
|
||||
}
|
||||
|
||||
if (parameters.GetParameter("render-api-validation", &value))
|
||||
if (GetParameter("render-api-validation", "NAZARA_RENDER_API_VALDATION", &value))
|
||||
{
|
||||
constexpr auto validationStr = frozen::make_unordered_map<frozen::string, RenderAPIValidationLevel>({
|
||||
{ "debug", RenderAPIValidationLevel::Debug },
|
||||
|
|
|
|||
Loading…
Reference in New Issue