* Support compile-time format string checking with std::format
* Fix pre-VS 17.5 compilation
* Fix compilation without wchar_t support
* What am I doing
* Bring back fmt optimization
* Move to_string_view to common.h
* Fix SPDLOG_CONSTEXPR_FUNC emitting duplicate symbol errors when building in C++11
* Also add inline on VS 2013
* Appender doesn't work on wide strings
As per CMake's Importing and Exporting Guide[1],
configure_package_config_file() should be used for configuring the
package configuration file, not the regular configure_file() function.
This ensures that a spdlog package built on one system (with a given
directory tree) can be imported from a different system -
e.g. creating a pre-compiled spdlog package for use on different
systems.
[1]: https://cmake.org/cmake/help/git-stage/guide/importing-exporting/index.html#id8
By introducing 'no module' support this inadvertently triggered the find_package to use the "full version" version selection.
From https://cmake.org/cmake/help/latest/command/find_package.html#version-selection:
> When the [version] argument is given, Config mode will only find a version of the package that claims compatibility with the requested version (see format specification).
FMT does not set this configuration https://github.com/fmtlib/fmt/blob/7.1.3/support/cmake/fmt-config.cmake.in... but regardless it would not be "any compatibility" based on version semantics.
Which causes this error. v1.8.2 builds perfectly fine.
```
CMake Error at CMakeLists.txt:181 (find_package):
Could not find a configuration file for package "fmt" that is compatible
with requested version "5.3.0".
The following configuration files were considered but not accepted:
/home/proj/build/e98598522b7c484d9220bffc7ec84474515facbc/fmt-config.cmake, version: 7.1.3
```
* Reduces the range of possible version we'd need to test with.
* Enables newer policies reducing possible deprecation warnings from new policies.
* Allows removing some code for compatibility with older versions.
* Coincides with LLVM's bump to requiring CMake 3.13.