diff options
| author | Martin Ridgers <[email protected]> | 2021-10-16 10:53:54 +0200 |
|---|---|---|
| committer | Martin Ridgers <[email protected]> | 2021-10-16 10:53:54 +0200 |
| commit | 8030078d08379d011781c8c09d6840fc24aaec23 (patch) | |
| tree | 15c5f9b4032140211f34713a034e36ce4b697f78 /zencore/include | |
| parent | Merged main (diff) | |
| parent | Fixed up some more windows include issues (diff) | |
| download | zen-8030078d08379d011781c8c09d6840fc24aaec23.tar.xz zen-8030078d08379d011781c8c09d6840fc24aaec23.zip | |
Merged main
Diffstat (limited to 'zencore/include')
| -rw-r--r-- | zencore/include/zencore/compactbinarypackage.h | 5 | ||||
| -rw-r--r-- | zencore/include/zencore/fmtutils.h | 4 | ||||
| -rw-r--r-- | zencore/include/zencore/logging.h | 9 | ||||
| -rw-r--r-- | zencore/include/zencore/postwindows.h | 3 | ||||
| -rw-r--r-- | zencore/include/zencore/prewindows.h | 1 | ||||
| -rw-r--r-- | zencore/include/zencore/windows.h | 5 | ||||
| -rw-r--r-- | zencore/include/zencore/zencore.h | 16 |
7 files changed, 33 insertions, 10 deletions
diff --git a/zencore/include/zencore/compactbinarypackage.h b/zencore/include/zencore/compactbinarypackage.h index cc2c4815a..3fb85beb3 100644 --- a/zencore/include/zencore/compactbinarypackage.h +++ b/zencore/include/zencore/compactbinarypackage.h @@ -12,6 +12,11 @@ #include <span> #include <variant> +#ifdef GetObject +# error "windows.h pollution" +# undef GetObject +#endif + namespace zen { class CbWriter; diff --git a/zencore/include/zencore/fmtutils.h b/zencore/include/zencore/fmtutils.h index 29e2ae78a..7e60c2bef 100644 --- a/zencore/include/zencore/fmtutils.h +++ b/zencore/include/zencore/fmtutils.h @@ -6,7 +6,11 @@ #include <zencore/string.h> #include <zencore/uid.h> + +ZEN_THIRD_PARTY_INCLUDES_START #include <fmt/format.h> +ZEN_THIRD_PARTY_INCLUDES_END + #include <filesystem> #include <string_view> diff --git a/zencore/include/zencore/logging.h b/zencore/include/zencore/logging.h index 0838cfe80..0b080cb9d 100644 --- a/zencore/include/zencore/logging.h +++ b/zencore/include/zencore/logging.h @@ -2,11 +2,12 @@ #pragma once -// clang-format off -#include "prewindows.h" +#include <zencore/zencore.h> + +ZEN_THIRD_PARTY_INCLUDES_START #include <spdlog/spdlog.h> -#include "postwindows.h" -// clang-format on +#undef GetObject +ZEN_THIRD_PARTY_INCLUDES_END #include <string_view> diff --git a/zencore/include/zencore/postwindows.h b/zencore/include/zencore/postwindows.h deleted file mode 100644 index 35b7db3af..000000000 --- a/zencore/include/zencore/postwindows.h +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright Epic Games, Inc. All Rights Reserved. - -#undef GetObject diff --git a/zencore/include/zencore/prewindows.h b/zencore/include/zencore/prewindows.h deleted file mode 100644 index 0bc74e49b..000000000 --- a/zencore/include/zencore/prewindows.h +++ /dev/null @@ -1 +0,0 @@ -// Copyright Epic Games, Inc. All Rights Reserved. diff --git a/zencore/include/zencore/windows.h b/zencore/include/zencore/windows.h index 2b6dc4839..621621ae8 100644 --- a/zencore/include/zencore/windows.h +++ b/zencore/include/zencore/windows.h @@ -2,7 +2,7 @@ #pragma once -#include "prewindows.h" +ZEN_THIRD_PARTY_INCLUDES_START struct IUnknown; // Workaround for "combaseapi.h(229): error C2187: syntax error: 'identifier' was unexpected here" when using /permissive- #ifndef NOMINMAX @@ -10,5 +10,6 @@ struct IUnknown; // Workaround for "combaseapi.h(229): error C2187: syntax erro #endif #define WIN32_LEAN_AND_MEAN #include <windows.h> +#undef GetObject -#include "postwindows.h" +ZEN_THIRD_PARTY_INCLUDES_END diff --git a/zencore/include/zencore/zencore.h b/zencore/include/zencore/zencore.h index 3f92d7ac4..de848146a 100644 --- a/zencore/include/zencore/zencore.h +++ b/zencore/include/zencore/zencore.h @@ -64,6 +64,22 @@ # pragma warning(disable : 4324) // warning C4324: '<type>': structure was padded due to alignment specifier #endif +#ifndef ZEN_THIRD_PARTY_INCLUDES_START +# if ZEN_COMPILER_MSC +# define ZEN_THIRD_PARTY_INCLUDES_START __pragma(warning(push)) __pragma(warning(disable : 4668)) +# else +# define ZEN_THIRD_PARTY_INCLUDES_START +# endif +#endif + +#ifndef ZEN_THIRD_PARTY_INCLUDES_END +# if ZEN_COMPILER_MSC +# define ZEN_THIRD_PARTY_INCLUDES_END __pragma(warning(pop)) +# else +# define ZEN_THIRD_PARTY_INCLUDES_END +# endif +#endif + ////////////////////////////////////////////////////////////////////////// // Architecture // |