diff --git a/CMakeLists.txt b/CMakeLists.txt index 51d7914..c9d9a72 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -31,7 +31,6 @@ if(SEMVER_BUILD_MODULE) set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD_REQUIRED ON CXX_EXTENSIONS OFF) - target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_20) target_sources(${PROJECT_NAME} PUBLIC FILE_SET CXX_MODULES FILES module/semver.cppm) @@ -39,6 +38,7 @@ if(SEMVER_BUILD_MODULE) PUBLIC $ $) + target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_20) else() add_library(${PROJECT_NAME} INTERFACE) target_include_directories( diff --git a/include/semver/semver.hpp b/include/semver/semver.hpp index ac8949e..b2d4873 100644 --- a/include/semver/semver.hpp +++ b/include/semver/semver.hpp @@ -403,7 +403,6 @@ namespace semver #ifdef __cpp_lib_format #if __cpp_lib_format >= 201907L -SEMVER_EXPORT template struct std::formatter : std::formatter { template diff --git a/module/semver.cppm b/module/semver.cppm index 3cc5d8e..3fe4fde 100644 --- a/module/semver.cppm +++ b/module/semver.cppm @@ -24,30 +24,23 @@ SOFTWARE. module; -#ifndef SEMVER_IMPORT_STD #include #include #include #include #include -// conditionally include and its dependency for C++20 #ifdef __cpp_lib_format #if __cpp_lib_format >= 201907L #include #include #endif #endif -#endif export module semver; #define SEMVER_MODULE -#ifdef SEMVER_IMPORT_STD -import std; -#endif - #ifdef _MSC_VER #pragma warning(push) #pragma warning(disable: 5244) @@ -69,9 +62,3 @@ import std; #ifdef _MSC_VER #pragma warning(pop) #endif - -#if defined(__cpp_lib_format) -export namespace std { - using std::formatter; -} -#endif \ No newline at end of file diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index e4f249b..162f0e8 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -27,7 +27,6 @@ if(SEMVER_BUILD_MODULE) set_target_properties(${PROJECT_NAME}-tests-20 PROPERTIES CXX_SCAN_FOR_MODULES ON) set_target_properties(${PROJECT_NAME}-tests-20 PROPERTIES CXX_EXTENSIONS OFF) target_compile_definitions(${PROJECT_NAME}-tests-20 PRIVATE SEMVER_TEST_MODULE) - target_compile_definitions(${PROJECT_NAME}-tests-20 PRIVATE SEMVER_IMPORT_STD) endif() set_target_properties(${PROJECT_NAME}-tests-20 PROPERTIES CXX_STANDARD 20) target_link_libraries(${PROJECT_NAME}-tests-20 PRIVATE Catch2::Catch2WithMain ${PROJECT_NAME}) diff --git a/test/serialization.cpp b/test/serialization.cpp index 95379b4..d716f21 100644 --- a/test/serialization.cpp +++ b/test/serialization.cpp @@ -14,6 +14,7 @@ TEST_CASE("Test version std::ostream <<", "[version]") { REQUIRE(ss.str() == "5.2.3"); } +#ifndef SEMVER_TEST_MODULE #ifdef __cpp_lib_format #if __cpp_lib_format >= 201907L @@ -27,3 +28,4 @@ TEST_CASE("Test version std::format formatter", "[version]") { #endif #endif +#endif