REVISION_CLEAN can be 0 or 1. When it is 0 that means that there were uncommitted changes to the code at the time of version info generation, otherwise this will be 1 which means that there have been no uncommitted changes.
This is mainly with focus on issues with the ECC code. One of these issues is a "possible overflow in ecc_ansi_x963_export" (https://github.com/libtom/libtomcrypt/issues/58). Other than that all changes are minimal, only one new compile flag had to be added to get around a compiler incompatibility case for LTC_FAST (we're not working with GNU compilers here) and the code will fully compile.
- /wd4100 since "unused formal parameter" is not a critical error
- _SCL_SECURE_NO_WARNINGS as unfortunately protoc's generated code still relies on potentially unsafe methods
- Added custom rules for *.proto files to iw4x
- Added a workaround for protoc output not being automatically included
- Disable precompiled headers for protobuf generated sources
- Moved inclusion of node.pb.h out of STDInclude.hpp to only where it's necessary (WTF @momo5502)
- Removed protobuf-generated code from "protobuf" external project
- Removed protogen.bat as it is no longer needed
boost.signals sadly requires way too many dependencies, libsigc++ requires too much configuration and all the other libs I tested mostly required constexpr as callbacks (due to passing callbacks via template list), which doesn't server this purpose, so wink-signals seems just about right for what we do.
This is necessary if we want to support Mac OS X (xcode4) later as the generator ignores the architecture definition and only enforces 32-bit builds if the platform is set to either "Universal32" or "x86" despite the fact that premake5 only defines "platform" as a custom labeling method for Visual Studio.