58 lines
1.7 KiB
C
58 lines
1.7 KiB
C
// Copyright (c) 2012-2024 Wojciech Figat. All rights reserved.
|
|
|
|
#pragma once
|
|
|
|
// Build mode
|
|
#if BUILD_DEBUG
|
|
#define BUILD_DEVELOPMENT 0
|
|
#define BUILD_RELEASE 0
|
|
#elif BUILD_DEVELOPMENT
|
|
#define BUILD_DEBUG 0
|
|
#define BUILD_RELEASE 0
|
|
#elif BUILD_RELEASE
|
|
#define BUILD_DEBUG 0
|
|
#define BUILD_DEVELOPMENT 0
|
|
#else
|
|
#error "Invalid build mode configuration"
|
|
#endif
|
|
|
|
#include "Config.Gen.h"
|
|
|
|
// Disable undefined macros
|
|
#ifndef USE_EDITOR
|
|
#define USE_EDITOR 0
|
|
#endif
|
|
#ifndef OFFICIAL_BUILD
|
|
#define OFFICIAL_BUILD 0
|
|
#endif
|
|
#ifndef COMPILE_WITH_DEV_ENV
|
|
#define COMPILE_WITH_DEV_ENV 1
|
|
#endif
|
|
|
|
// Enable logging service (saving log to file, can be disabled using -nolog command line)
|
|
#define LOG_ENABLE 1
|
|
|
|
// Enable crash reporting service (stack trace and crash dump collecting)
|
|
#define CRASH_LOG_ENABLE (!BUILD_RELEASE)
|
|
|
|
// Enable/disable assertion
|
|
#define ENABLE_ASSERTION (!BUILD_RELEASE)
|
|
|
|
// Enable/disable assertion for Engine low layers
|
|
#define ENABLE_ASSERTION_LOW_LAYERS ENABLE_ASSERTION && (BUILD_DEBUG || FLAX_TESTS)
|
|
|
|
// Scripting API defines (see C++ scripting documentation for more info)
|
|
#define API_ENUM(...)
|
|
#define API_CLASS(...)
|
|
#define API_INTERFACE(...)
|
|
#define API_STRUCT(...)
|
|
#define API_FUNCTION(...)
|
|
#define API_PROPERTY(...)
|
|
#define API_FIELD(...)
|
|
#define API_EVENT(...)
|
|
#define API_PARAM(...)
|
|
#define API_TYPEDEF(...)
|
|
#define API_INJECT_CODE(...)
|
|
#define API_AUTO_SERIALIZATION(...) public: void Serialize(SerializeStream& stream, const void* otherObj) override; void Deserialize(DeserializeStream& stream, ISerializeModifier* modifier) override;
|
|
#define DECLARE_SCRIPTING_TYPE_MINIMAL(type) public: friend class type##Internal; static struct ScriptingTypeInitializer TypeInitializer;
|