Move toml++ initialization to its own header

This commit is contained in:
Robbert van der Helm
2023-10-28 15:06:59 +02:00
parent feb9130e7f
commit d7d7df575f
2 changed files with 52 additions and 33 deletions
+1 -33
View File
@@ -19,39 +19,7 @@
#include <fnmatch.h>
#include <fstream>
// By default tomlplusplus is no longer headers when using the package config
// file. We don't want to link against third party shared libraries in yabridge.
#ifdef TOML_SHARED_LIB
#undef TOML_SHARED_LIB
#undef TOML_HEADER_ONLY
#define TOML_HEADER_ONLY 1
#endif
// tomlplusplus recently got some Windows fixes, but they cause compilation
// errors and we don't need them so we'll just disable them outright. Disabling
// `TOML_ENABLE_WINDOWS_COMPAT` is no longer enough, and you can't disable
// `TOML_WINDOWS` directly. This is the same trick used in `use-asio-linux.h`.
#pragma push_macro("WIN32")
#pragma push_macro("_WIN32")
#pragma push_macro("__WIN32__")
#pragma push_macro("__NT__")
#pragma push_macro("__CYGWIN__")
#undef WIN32
#undef _WIN32
#undef __WIN32__
#undef __NT__
#undef __CYGWIN__
#include <toml++/toml.h>
#pragma pop_macro("WIN32")
#pragma pop_macro("_WIN32")
#pragma pop_macro("__WIN32__")
#pragma pop_macro("__NT__")
#pragma pop_macro("__CYGWIN__")
#include "toml++.h"
#include "utils.h"
namespace fs = ghc::filesystem;