diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index b237f37c..cee2b7f1 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -84,7 +84,8 @@ check_cxx_feature_supported("__cpp_constexpr >= 202211L" ${projectPrefix}STATIC_ check_cxx_feature_supported(__cpp_explicit_this_parameter ${projectPrefix}EXPLICIT_THIS_PARAMETER_SUPPORTED) # validate settings -if(${projectPrefix}API_STD_FORMAT STREQUAL "TRUE" +if(NOT ${projectPrefix}API_FREESTANDING + AND ${projectPrefix}API_STD_FORMAT STREQUAL "TRUE" AND NOT (${projectPrefix}LIB_FORMAT_SUPPORTED # libc++ has a basic supports for std::format but does not set __cpp_lib_format diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 99289ec8..9d2839f3 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -98,8 +98,9 @@ set_feature_flag(API_STRING_VIEW_RET) set_feature_flag(API_NO_CRTP) # Text formatting -if(${projectPrefix}API_STD_FORMAT STREQUAL "FALSE" OR (${projectPrefix}API_STD_FORMAT STREQUAL "AUTO" - AND NOT ${projectPrefix}LIB_FORMAT_SUPPORTED) +if(NOT ${projectPrefix}API_FREESTANDING + AND (${projectPrefix}API_STD_FORMAT STREQUAL "FALSE" OR (${projectPrefix}API_STD_FORMAT STREQUAL "AUTO" + AND NOT ${projectPrefix}LIB_FORMAT_SUPPORTED)) ) if(NOT TARGET fmt::fmt) find_package(fmt REQUIRED) diff --git a/src/mp-unitsConfig.cmake b/src/mp-unitsConfig.cmake index 017d6131..f5bee933 100644 --- a/src/mp-unitsConfig.cmake +++ b/src/mp-unitsConfig.cmake @@ -22,7 +22,7 @@ include(CMakeFindDependencyMacro) -if(NOT MP_UNITS_API_STD_FORMAT) +if(NOT MP_UNITS_API_FREESTANDING AND NOT MP_UNITS_API_STD_FORMAT) find_dependency(fmt) endif()