CMAKE_CXX_MODULE_STD: current cmake master cmake v4.3.0-rc0-g4966f3e generate 30 times more targets?

@ben.boeckel the dependency scan seems to be the overkill at the moment?

bash-5.3$ make release
cmake --preset release --log-level=VERBOSE --fresh
Preset CMake variables:

  BEMAN_USE_MODULES:BOOL="TRUE"
  BEMAN_USE_STD_MODULE:BOOL="TRUE"
  CMAKE_BUILD_TYPE="RelWithDebInfo"
  CMAKE_CXX_EXTENSIONS:BOOL="TRUE"
  CMAKE_CXX_STANDARD="23"
  CMAKE_CXX_STANDARD_REQUIRED:BOOL="TRUE"
  CMAKE_EXPORT_COMPILE_COMMANDS:BOOL="TRUE"
  CMAKE_INSTALL_MESSAGE="LAZY"
  CMAKE_INSTALL_PREFIX:PATH="/Users/clausklein/Workspace/cpp/beman-project/execution26/stagedir"
  CMAKE_PREFIX_PATH:STRING="/Users/clausklein/Workspace/cpp/beman-project/execution26/stagedir"
  CMAKE_SKIP_TEST_ALL_DEPENDENCY:BOOL="FALSE"

-- The CXX compiler identification is GNU 15.2.0
-- Checking whether CXX compiler has -isysroot
-- Checking whether CXX compiler has -isysroot - yes
-- Checking whether CXX compiler supports OSX deployment target flag
-- Checking whether CXX compiler supports OSX deployment target flag - yes
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/local/bin/g++-15 - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES=/usr/local/Cellar/gcc/15.2.0/include/c++/15;/usr/local/Cellar/gcc/15.2.0/include/c++/15/x86_64-apple-darwin23;/usr/local/Cellar/gcc/15.2.0/include/c++/15/backward;/usr/local/Cellar/gcc/15.2.0/lib/gcc/current/gcc/x86_64-apple-darwin23/15/include;/usr/local/Cellar/gcc/15.2.0/lib/gcc/current/gcc/x86_64-apple-darwin23/15/include-fixed;/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include;/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/System/Library/Frameworks
-- CMAKE_CXX_STDLIB_MODULES_JSON=/usr/local/Cellar/gcc/15.2.0_1/bin/../lib/gcc/current/gcc/x86_64-apple-darwin23/15/../../../libstdc++.modules.json
-- BEMAN_USE_MODULES=TRUE
-- BEMAN_USE_STD_MODULE=TRUE
-- CMAKE_CXX_COMPILER_IMPORT_STD=23;26
-- CMAKE_CXX_MODULE_STD=ON
-- BEMAN_HAS_IMPORT_STD=ON
-- CMAKE_CXX_SCAN_FOR_MODULES=ON
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- beman-install-library(beman.execution): COMPONENT 'execution'
-- beman_install_library(beman.execution): EXPORT_NAME execution_headers for TARGET 'beman.execution_headers'
-- beman-install-library(beman.execution): 'beman.execution_headers' has INTERFACE_HEADER_SETS=public_headers;detail_headers
-- beman_install_library(beman.execution): EXPORT_NAME execution for TARGET 'beman.execution'
-- beman-install-library(beman.execution): 'beman.execution' has INTERFACE_HEADER_SETS=HEADERS
-- beman-install-library(beman.execution): 'beman.execution' has CXX_MODULE_SETS=CXX_MODULES
-- beman-install-library(beman.execution): Add find_dependency(Threads)
-- Configuring done (10.5s)
-- Generating done (4.2s)
-- Build files have been written to: /Users/clausklein/Workspace/cpp/beman-project/execution26/build/release
ln -fs build/Darwin/release/compile_commands.json .
cmake --workflow --preset release
Executing workflow step 1 of 4: configure preset "release"

-- CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES=/usr/local/Cellar/gcc/15.2.0/include/c++/15;/usr/local/Cellar/gcc/15.2.0/include/c++/15/x86_64-apple-darwin23;/usr/local/Cellar/gcc/15.2.0/include/c++/15/backward;/usr/local/Cellar/gcc/15.2.0/lib/gcc/current/gcc/x86_64-apple-darwin23/15/include;/usr/local/Cellar/gcc/15.2.0/lib/gcc/current/gcc/x86_64-apple-darwin23/15/include-fixed;/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include;/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/System/Library/Frameworks
-- CMAKE_CXX_STDLIB_MODULES_JSON=/usr/local/Cellar/gcc/15.2.0_1/bin/../lib/gcc/current/gcc/x86_64-apple-darwin23/15/../../../libstdc++.modules.json
-- BEMAN_USE_MODULES=TRUE
-- BEMAN_USE_STD_MODULE=TRUE
-- CMAKE_CXX_COMPILER_IMPORT_STD=23;26
-- CMAKE_CXX_MODULE_STD=ON
-- BEMAN_HAS_IMPORT_STD=ON
-- CMAKE_CXX_SCAN_FOR_MODULES=ON
-- Configuring done (0.1s)
-- Generating done (4.0s)
-- Build files have been written to: /Users/clausklein/Workspace/cpp/beman-project/execution26/build/release

Executing workflow step 2 of 4: build preset "release"

[13/20815] Scanning /usr/local/Cellar/gcc/15.2.0_1/include/c++/15/bits/std.cc for CXX dependencies^Cmake: *** [build/Darwin/release/compile_commands.json] Interrupt: 2


ninja: build stopped: interrupted by user.
bash-5.3$ 

Same environment but with current cmake v4.2.3:

bash-5.3$ make
/usr/local/bin/cmake -S . -B build -G Ninja \
	 -D CMAKE_EXPERIMENTAL_CXX_IMPORT_STD="d0edc3af-4c50-42ea-a356-e2862fe7a444" \
	 -D BUILD_SHARED_LIBS=YES \
	 -D BEMAN_USE_MODULES=YES \
	 -D BEMAN_USE_STD_MODULE=yes \
	 -D CMAKE_BUILD_TYPE=Release \
	 -D CMAKE_CXX_FLAGS='-fno-inline --coverage' \
	 -D CMAKE_CXX_STANDARD=23 -D CMAKE_CXX_EXTENSIONS=YES -D CMAKE_CXX_STANDARD_REQUIRED=YES \
	 -D CMAKE_INSTALL_MESSAGE=LAZY \
	 -D CMAKE_PROJECT_TOP_LEVEL_INCLUDES=./infra/cmake/use-fetch-content.cmake \
	 -D CMAKE_SKIP_INSTALL_RULES=NO \
	 --log-level=VERBOSE --fresh \
	 # --trace-expand --trace-source=use-fetch-content.cmake \
	 # --debug-find-pkg=GTest
-- The CXX compiler identification is GNU 15.2.0
-- Checking whether CXX compiler has -isysroot
-- Checking whether CXX compiler has -isysroot - yes
-- Checking whether CXX compiler supports OSX deployment target flag
-- Checking whether CXX compiler supports OSX deployment target flag - yes
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/local/bin/g++-15 - skipped
-- Detecting CXX compile features
CMake Warning (dev) at /usr/local/share/cmake/Modules/Compiler/CMakeCommonCompilerMacros.cmake:248 (cmake_language):
  CMake's support for `import std;` in C++23 and newer is experimental.  It
  is meant only for experimentation and feedback to CMake developers.
Call Stack (most recent call first):
  /usr/local/share/cmake/Modules/CMakeDetermineCompilerSupport.cmake:113 (cmake_create_cxx_import_std)
  /usr/local/share/cmake/Modules/CMakeTestCXXCompiler.cmake:83 (CMAKE_DETERMINE_COMPILER_SUPPORT)
  CMakeLists.txt:11 (project)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Detecting CXX compile features - done
-- CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES=/usr/local/Cellar/gcc/15.2.0_1/include/c++/15;/usr/local/Cellar/gcc/15.2.0_1/include/c++/15/x86_64-apple-darwin23;/usr/local/Cellar/gcc/15.2.0_1/include/c++/15/backward;/usr/local/Cellar/gcc/15.2.0_1/lib/gcc/current/gcc/x86_64-apple-darwin23/15/include;/usr/local/Cellar/gcc/15.2.0_1/lib/gcc/current/gcc/x86_64-apple-darwin23/15/include-fixed;/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include;/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/System/Library/Frameworks
-- BEMAN_USE_MODULES=YES
-- BEMAN_USE_STD_MODULE=yes
-- CMAKE_CXX_COMPILER_IMPORT_STD=23;26
-- CMAKE_CXX_MODULE_STD=ON
-- BEMAN_HAS_IMPORT_STD=ON
-- CMAKE_CXX_SCAN_FOR_MODULES=ON
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- beman-install-library(beman.execution): COMPONENT 'execution'
-- beman_install_library(beman.execution): EXPORT_NAME execution_headers for TARGET 'beman.execution_headers'
-- beman-install-library(beman.execution): 'beman.execution_headers' has INTERFACE_HEADER_SETS=public_headers;detail_headers
-- beman_install_library(beman.execution): EXPORT_NAME execution for TARGET 'beman.execution'
-- beman-install-library(beman.execution): 'beman.execution' has INTERFACE_HEADER_SETS=HEADERS
-- beman-install-library(beman.execution): 'beman.execution' has CXX_MODULE_SETS=CXX_MODULES
-- beman-install-library(beman.execution): Add find_dependency(Threads)
-- Configuring done (4.3s)
-- Generating done (0.7s)
-- Build files have been written to: /Users/clausklein/Workspace/cpp/beman-project/execution26/build
ln -sf build/compile_commands.json .
ninja -C build
ninja: Entering directory `build'
[1/689] Scanning /usr/local/Cellar/gcc/15.2.0_1/include/c++/15/bits/std.compat.cc for CXX dependencies^C

bash-5.3$ 

we have 171 cppm files!

bash-5.3$ cloc .
     565 text files.
     554 unique files.                                          
      14 files ignored.

github.com/AlDanial/cloc v 2.08  T=2.04 s (271.9 files/s, 19178.1 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
C++                            290           2266           1110          11309
C/C++ Header                   185           1870           1718          10107
CSS                              1            463            125           2235
CMake                           33            227            341           1711
Markdown                        10            311             11           1695
JSON                             9              0              0           1047
Text                             3             41              0            737
YAML                            11             38             43            586
Python                           6            114             22            442
make                             1             41             42            156
JavaScript                       1             22             36            123
HTML                             1              1             16             43
Dockerfile                       1              6              5              7
TOML                             1              1              0              5
Bourne Shell                     1              0              2              2
-------------------------------------------------------------------------------
SUM:                           554           5401           3471          30205
-------------------------------------------------------------------------------
bash-5.3$ git ls-files ::*.cppm | wc
    171     171    6735
bash-5.3$ pwd
/Users/clausklein/Workspace/cpp/beman-project/execution26
bash-5.3$