Core/Misc: Add PERFORMANCE_PROFILING CMake option

Add a new CMake option called PERFORMANCE_PROFILING that should be used only when profiling the performance.
This option is unsupported, do not report any issue happening when enabling this option.

(cherry picked from commit db5c9867e2)
This commit is contained in:
jackpoz
2018-02-17 23:29:34 +01:00
committed by funjoker
parent b7aef385e8
commit 89a232de3a
4 changed files with 19 additions and 2 deletions

View File

@@ -104,6 +104,13 @@ if ( HELGRIND )
add_definitions(-DHELGRIND)
endif()
if ( PERFORMANCE_PROFILING )
message("")
message(" *** PERFORMANCE_PROFILING - WARNING!")
message(" *** Please note that this is for PERFORMANCE PROFILING only! Do NOT report any issue when enabling this configuration!")
add_definitions(-DPERFORMANCE_PROFILING)
endif()
if (BUILD_SHARED_LIBS)
message("")
message(" *** WITH_DYNAMIC_LINKING - INFO!")

View File

@@ -51,7 +51,12 @@ namespace Trinity
#define WPWarning(cond, msg) ASSERT_BEGIN do { if (!(cond)) Trinity::Warning(__FILE__, __LINE__, __FUNCTION__, (msg)); } while(0) ASSERT_END
#define WPAbort() ASSERT_BEGIN do { Trinity::Abort(__FILE__, __LINE__, __FUNCTION__); } while(0) ASSERT_END
#ifdef PERFORMANCE_PROFILING
#define ASSERT(cond, ...) ((void)0)
#else
#define ASSERT WPAssert
#endif
#define ABORT WPAbort
template <typename T>

View File

@@ -143,7 +143,9 @@ class TC_COMMON_API Log
} \
}
#if TRINITY_PLATFORM != TRINITY_PLATFORM_WINDOWS
#ifdef PERFORMANCE_PROFILING
#define TC_LOG_MESSAGE_BODY(filterType__, level__, ...) ((void)0)
#elif TRINITY_PLATFORM != TRINITY_PLATFORM_WINDOWS
void check_args(char const*, ...) ATTR_PRINTF(1, 2);
void check_args(std::string const&, ...);

View File

@@ -121,7 +121,10 @@ public:
#define sMetric Metric::instance()
#if TRINITY_PLATFORM != TRINITY_PLATFORM_WINDOWS
#ifdef PERFORMANCE_PROFILING
#define TC_METRIC_EVENT(category, title, description) ((void)0)
#define TC_METRIC_VALUE(category, value) ((void)0)
#elif TRINITY_PLATFORM != TRINITY_PLATFORM_WINDOWS
#define TC_METRIC_EVENT(category, title, description) \
do { \
if (sMetric->IsEnabled()) \