move to debugging.[ch]pp

pull/541/head
Stanislaw Halik 6 years ago
parent 74955555b9
commit f6c8842457

@ -90,7 +90,7 @@ add_component_dir (misc
)
add_component_dir (debug
debugging debuglog win32
debugging debuglog
)
IF(NOT WIN32 AND NOT APPLE)

@ -4,6 +4,34 @@
namespace Debug
{
#ifdef _WIN32
bool attachParentConsole()
{
if (GetConsoleWindow() != nullptr)
return true;
if (AttachConsole(ATTACH_PARENT_PROCESS))
{
fflush(stdout);
fflush(stderr);
std::cout.flush();
std::cerr.flush();
// this looks dubious but is really the right way
_wfreopen(L"CON", L"w", stdout);
_wfreopen(L"CON", L"w", stderr);
_wfreopen(L"CON", L"r", stdin);
freopen("CON", "w", stdout);
freopen("CON", "w", stderr);
freopen("CON", "r", stdin);
return true;
}
return false;
}
#endif
std::streamsize DebugOutputBase::write(const char *str, std::streamsize size)
{
// Skip debug level marker

@ -9,9 +9,6 @@
#include <SDL_messagebox.h>
#include "debuglog.hpp"
#if defined _WIN32
# include "win32.hpp"
#endif
namespace Debug
{
@ -46,6 +43,10 @@ namespace Debug
}
};
#ifdef _WIN32
bool attachParentConsole();
#endif
#if defined(_WIN32) && defined(_DEBUG)
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN 1

@ -1,43 +0,0 @@
#ifdef _WIN32
#include "win32.hpp"
#undef _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <cstdio>
#include <windows.h>
namespace Debug {
bool attachParentConsole()
{
if (GetConsoleWindow() != nullptr)
return true;
if (AttachConsole(ATTACH_PARENT_PROCESS))
{
fflush(stdout);
fflush(stderr);
std::cout.flush();
std::cerr.flush();
// this looks dubious but is really the right way
_wfreopen(L"CON", L"w", stdout);
_wfreopen(L"CON", L"w", stderr);
_wfreopen(L"CON", L"r", stdin);
freopen("CON", "w", stdout);
freopen("CON", "w", stderr);
freopen("CON", "r", stdin);
return true;
}
return false;
}
} // ns Debug
#endif

@ -1,9 +0,0 @@
#pragma once
#ifdef _WIN32
namespace Debug {
bool attachParentConsole();
}
#endif
Loading…
Cancel
Save