Reuse c++20 modules in multiple targets

I am trying to reuse C++20 modules in test target, but it fails with this error:

$ ninja -C cmake-build-release
ninja: Entering directory `cmake-build-release'
[19/22] Building CXX object bravo/CMakeFiles/bravo_test_modules.dir/test/Calendar.cppm.o
FAILED: bravo/CMakeFiles/bravo_test_modules.dir/test/Calendar.cppm.o bravo/CMakeFiles/bravo_test_modules.dir/Calendar.pcm 
/home/kp/devel/clang+llvm-16.0.0-x86_64-linux-gnu-ubuntu-18.04/bin/clang++ -DBOOST_STACKTRACE_ADDR2LINE_LOCATION=\"/usr/bin/addr2line\" -DBOOST_STACKTRACE_USE_ADDR2LINE -DBOOST_STACKTRACE_USE_BACKTRACE -DBOOST_STACKTRACE_USE_NOOP -DCURL_STATICLIB=1 -DUSE_OS_TZDB=0 -isystem /home/kp/.conan2/p/boost32d717beee83b/p/include -isystem /home/kp/.conan2/p/libba0a75beae0b7f8/p/include -isystem /home/kp/.conan2/p/fmt6fb7b44db7256/p/include -isystem /home/kp/.conan2/p/date60d7f101d3b40/p/include -isystem /home/kp/.conan2/p/oatpp80562a7c237ad/p/include/oatpp-1.3.0/oatpp -isystem /home/kp/.conan2/p/gtest515010f54fdac/p/include -m64 -stdlib=libstdc++ -O3 -DNDEBUG -std=c++2b -MD -MT bravo/CMakeFiles/bravo_test_modules.dir/test/Calendar.cppm.o -MF bravo/CMakeFiles/bravo_test_modules.dir/test/Calendar.cppm.o.d @bravo/CMakeFiles/bravo_test_modules.dir/test/Calendar.cppm.o.modmap -o bravo/CMakeFiles/bravo_test_modules.dir/test/Calendar.cppm.o -c /home/kp/src/kp/bravo/bravo/test/Calendar.cppm
In module 'Schedule' imported from /home/kp/src/kp/bravo/bravo/test/Calendar.cppm:7:
/usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/compare:400:22: error: 'std::__detail::__common_cmp_cat' has different definitions in different modules; definition in module 'Schedule.<global>' first difference is function body
      constexpr auto __common_cmp_cat()
      ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/compare:400:22: note: but in '' found a different body
      constexpr auto __common_cmp_cat()
      ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
1 error generated.
[20/22] Building CXX object bravo/CMakeFiles/bravo.dir/src/main.cpp.o
ninja: build stopped: subcommand failed.

My CMake file looks like this

cmake_minimum_required(VERSION 3.26)
project(bravo)

set(CMAKE_CXX_STANDARD 23)

set(CMAKE_CXX_EXTENSIONS OFF)

set(CMAKE_EXPERIMENTAL_CXX_MODULE_DYNDEP 1)
# CMake 3.26
set(CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API "2182bf5c-ef0d-489a-91da-49dbc3090d2a")
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
  include(cxx_modules_rules_gcc.cmake)
endif ()

find_package(Boost REQUIRED)
find_package(fmt REQUIRED)
find_package(date REQUIRED)
find_package(oatpp REQUIRED)
find_package(GTest REQUIRED)

add_library(bravo_modules)
target_sources(bravo_modules
        PUBLIC
        FILE_SET cxx_modules TYPE CXX_MODULES FILES
        src/Schedule.cppm
        )
target_link_libraries(bravo_modules
        boost::boost
        fmt::fmt
        date::date
        oatpp::oatpp)

add_executable(bravo
        src/main.cpp)
target_link_libraries(bravo
        bravo_modules
        )

########################################################################################
add_library(bravo_test_modules)
target_sources(bravo_test_modules
        PUBLIC
        FILE_SET cxx_modules TYPE CXX_MODULES FILES
        test/Calendar.cppm
        )
target_link_libraries(bravo_test_modules
        bravo_modules
        GTest::gtest)

add_executable(${PROJECT_NAME}_unittest
        test/main.cpp)
target_link_libraries(${PROJECT_NAME}_unittest
        bravo_test_modules
        )

Schedule.cppm:

module;
#include <cassert>
#include <chrono>
#include <date/date.h>
#include <iostream>
#include <sstream>
#include <unordered_map>
#include <vector>

export module Schedule;

export class Schedule {
public:
...
};

Calendar.cppm:

module;

#include <gtest/gtest.h>

export module Calendar;

import Schedule;

class Calendar_test : public ::testing::Test {
public:
    Schedule schedule_;
};

TEST_F(Calendar_test, test_1)
{
}

I would appreciate any hints of what I am missing here.

This feels like a compiler bug. Does it work with Clang or MSVC?