
* fmt: Add cxxstd variant, plus cmake/c++ patches Spack supported versions of fmt default to C++11 for versions less than 5, C++14 greater than 5, with fmt implementing fallbacks to whatever compiler supports. To give better ABI compatibility and use of newer standards, provide a `cxxstd` variant defaulting to 11 with 98-17 options. Use cmake_args to set CMAKE_CXX_STANDARD as appropriate, plus use of `FMT_USE_CPP11` option for C++98 builds. Use `conflicts` to disable use of certain standards in versions that don't support, or fail the build, with those standards. Add patches to unify use of `CMAKE_CXX_STANDARD` in 3.0 versions, remove hard-coding of compiler flags in `fmt-config.cmake`, and prevent use of C++11 features in 4.1.0 when in supported C++98 mode. Default to not building documents as no dependency on Doxygen is yet present, and they are not part of the "all" build. * Use CMake to enforce C++ standard support Fail configure step if fmt tries to build with a cxxstd variant not supported by the compiler (or known to CMake). * fmt: New version 5.3.0
14 lines
456 B
Diff
14 lines
456 B
Diff
diff --git a/fmt/CMakeLists.txt b/fmt/CMakeLists.txt
|
|
index c0ef02e..1634924 100644
|
|
--- a/fmt/CMakeLists.txt
|
|
+++ b/fmt/CMakeLists.txt
|
|
@@ -14,8 +14,6 @@ if (FMT_CPPFORMAT)
|
|
add_library(cppformat ${FMT_SOURCES} ${FMT_HEADERS})
|
|
endif ()
|
|
|
|
-# Starting with cmake 3.1 the CXX_STANDARD property can be used instead.
|
|
-target_compile_options(fmt PUBLIC ${CPP11_FLAG})
|
|
if (FMT_PEDANTIC)
|
|
target_compile_options(fmt PRIVATE ${PEDANTIC_COMPILE_FLAGS})
|
|
endif ()
|