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
```
Removing changes to the bundled fmt library. The default case
statements will be changed in the upstream library.
Signed-off-by: Ryan Sherlock <sherlock@loftorbital.com>
Adding default case for cases where the compilation flag
-Wswitch-default is present on the command line when spdlog is
included in external projects.
Signed-off-by: Ryan Sherlock <ryan.m.sherlock@gmail.com>
WARNING: Please do not merge yet! See below.
We are currently in the process of packaging `spdlog` for `build2`, we have it working (even on unsupported Windows, see for example: https://ci.stage.build2.org/@a993b64e-8ba2-422e-97d7-250cdb5828e0?builds=&pv=&tc=*&cf=&mn=&tg=&rs=*)
This change simply adds the necessary information to use this package when using `build2`. Some notes:
- not sure how to give the info succintly because `build2` allows packages to come from different sources, including the git repository of the package - in doubt I just linked to the future community repository address providing all the info, but the other package manager didn't do it like that so not sure if it's ok for you?;
- `build2` distinguish the package (`depends: spdlog <some-version-scheme>`, added in the `manifest` file of a `build2` project) and the target (`spdlog%lib{spdlog}` imported in a `buildfile`) because packages can contain several targets. I was not sure how to formulate that here, so feel free to tell me if I should just provide the name of the package and not more info?
The package isn't available yet so this have to be merged only once it is made available (probably in a few days).