From 5ad7b713814f83389d45b92a23ccc08a2351f3f2 Mon Sep 17 00:00:00 2001 From: Tinson Lai Date: Wed, 12 Oct 2022 23:23:12 +0800 Subject: [PATCH] Fix options for C++20 experimental module in CMake (#3134) * Fix options for C++20 experimental module in CMake * Replace `FMT_CAN_MODULE` by `FMT_MODULE` in test/CMakeLists.txt --- CMakeLists.txt | 6 ++---- test/CMakeLists.txt | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 015ea1fc..e846b8cd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -84,10 +84,8 @@ option(FMT_MODULE "Build a module instead of a traditional library." OFF) option(FMT_SYSTEM_HEADERS "Expose headers with marking them as system." OFF) set(FMT_CAN_MODULE OFF) -if (CMAKE_CXX_STANDARD GREATER 17 AND - # msvc 16.10-pre4 - MSVC AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 19.29.30035) - set(FMT_CAN_MODULE OFF) +if (CMAKE_CXX_STANDARD GREATER 17 AND NOT MSVC) + set(FMT_CAN_MODULE ON) endif () if (NOT FMT_CAN_MODULE) set(FMT_MODULE OFF) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 97163785..a198b513 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -94,7 +94,7 @@ add_fmt_test(enforce-checks-test) target_compile_definitions(enforce-checks-test PRIVATE -DFMT_ENFORCE_COMPILE_STRING) -if (FMT_CAN_MODULE) +if (FMT_MODULE) # The tests need {fmt} to be compiled as traditional library # because of visibility of implementation details. # If module support is present the module tests require a