/* Copyright (C) 2025 Wildfire Games.
 * This file is part of 0 A.D.
 *
 * 0 A.D. is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 2 of the License, or
 * (at your option) any later version.
 *
 * 0 A.D. is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with 0 A.D.  If not, see <http://www.gnu.org/licenses/>.
 */

// Precompiled headers:

#ifndef INCLUDED_STDAFX
#define INCLUDED_STDAFX

#ifdef USING_PCH
# define HAVE_PCH 1
#else
# define HAVE_PCH 0
#endif

#if defined(_MSC_VER)
# pragma warning(disable:4996)	// deprecated CRT
#endif

#if HAVE_PCH

#define WX_PRECOMP

// Exclude rarely-used stuff from Windows headers
#ifdef _WIN32
# define WIN32_LEAN_AND_MEAN
#endif

#ifdef __GNUC__
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wredundant-decls" // triggered by wx/geometry.h
#endif

// Include useful wx headers
#include <wx/wxprec.h>

#include <wx/artprov.h>
#include <wx/cmdproc.h>
#include <wx/colordlg.h>
#include <wx/config.h>
#include <wx/dialog.h>
#include <wx/dir.h>
#include <wx/dnd.h>
#include <wx/docview.h>
#include <wx/file.h>
#include <wx/filename.h>
#include <wx/filesys.h>
#include <wx/glcanvas.h>
#include <wx/image.h>
#include <wx/listctrl.h>
#include <wx/mstream.h>
#include <wx/notebook.h>
#include <wx/progdlg.h>
#include <wx/regex.h>
#include <wx/sound.h>
#include <wx/spinctrl.h>
#include <wx/splitter.h>
#include <wx/tooltip.h>
#include <wx/treectrl.h>
#include <wx/wfstream.h>
#include <wx/zstream.h>

#ifdef __GNUC__
# pragma GCC diagnostic pop
#endif

#include <vector>
#include <string>
#include <set>
#include <stack>
#include <map>
#include <limits>
#include <cassert>

#include <boost/bind.hpp>
#include <boost/version.hpp>
#if BOOST_VERSION >= 104000
# include <boost/signals2.hpp>
#else
# error Atlas requires Boost 1.40 or later
#endif

// Nicer memory-leak detection:
#ifdef _WIN32
# ifdef _DEBUG
#  include <crtdbg.h>
#  define new new(_NORMAL_BLOCK ,__FILE__, __LINE__)
# endif
#endif

#endif // HAVE_PCH

#include <wx/platform.h>
#include <wx/version.h>
// wxWidgets 3.0 or later required
#if !wxCHECK_VERSION(3, 0, 0)
# error You are using an old wxWidgets release. At least wxWidgets >= 3.0.0 is required.
#endif

// Abort with an obvious message if wx isn't Unicode, instead of complaining
// mysteriously when it first discovers wxChar != wchar_t
#ifndef UNICODE
# error This needs to be compiled with a Unicode version of wxWidgets.
#endif

#endif // INCLUDED_STDAFX
