mirror of
https://github.com/open-goal/jak-project.git
synced 2024-10-20 11:26:18 -04:00
f763eb6bf0
* [jak2] support for multiple out/ directories * windows
31 lines
663 B
C++
31 lines
663 B
C++
#pragma once
|
|
|
|
#include <string>
|
|
#include <unordered_map>
|
|
|
|
#include "common/goos/Object.h"
|
|
|
|
class CompilerSettings {
|
|
public:
|
|
CompilerSettings();
|
|
bool debug_print_ir = false;
|
|
bool debug_print_regalloc = false;
|
|
bool disable_math_const_prop = false;
|
|
bool emit_move_after_return = true;
|
|
|
|
void set(const std::string& name, const goos::Object& value);
|
|
|
|
private:
|
|
void link(bool& val, const std::string& name);
|
|
|
|
enum class SettingKind { BOOL, STRING, INVALID };
|
|
|
|
struct SettingsEntry {
|
|
SettingKind kind = SettingKind::INVALID;
|
|
goos::Object value;
|
|
bool* boolp = nullptr;
|
|
};
|
|
|
|
std::unordered_map<std::string, SettingsEntry> m_settings;
|
|
};
|