Changes the following warnings to errors:
C4701: potential use of uninitialized local variable
C4703: potential use of uninitialized local pointer
C4456: declaration hides previous local declaration
C4003: not enough arguments for function-like macro invocation
C4840: use of non-trivial class as an argument to a variadic function
C4805: unsafe mix of bool and int in a numeric operation or comparison
C4305: truncation of double to float or int to bool
C4366: address taken of unaligned field and used as an aligned pointer
C4315: object constructed into an unaligned field with a constructor that expects it to be aligned
Additional include and library directories can now be added.
This is most useful to Xcode Mac projects where a vanilla Homebrew setup
requires manually adding five directories through the Xcode UI and then
repeating that every time the project needs to be regenerated.
Now create_project can be scripted to regenerate a working Mac project
without any extra Xcode steps.
msbuild.h makes uses of the "override" keyword, so borrow the compat
macro from c++11-compat.h to make this work on older compilers,
such as the ones found on Mac OS X Leopard.
* Support for pkg-config was added
* Shortened the CMakeLists.txt by more than 4000 lines
* Added macro for feature detection
* Configure stage is reporting missing libs as error now (they were reported as compile errors during the build before)
* Link the scummvm-detection lib (this was missing before)
* Added missing defines like DETECTION_STATIC and USE_SDL2
* Group impl and header files in src file list to shorten the cmake script
* Unified indention for generated script
- This allows apps that use create_project to build with statically linked detection features.
- Also add support to write an addtional file - detection_tables.h inside engines/.
Variadic macros are C99 and ugly in C++. If we would want to do it differently
we should rather rely on C++0x's initializer lists. But since we cannot assume
all compilers we want create_project to build support that we cannot do that.
User-visible output and project-specific names are now defined in a config header.
This allows an easier usage of the create_project tools in other scummvm-derived projects (such as residual).