https://github.com/Kitware/CMake
Revision e9b0dcbbfa51e26f0516c81d7ed3d4051cb539c0 authored by namniav on 04 December 2023, 04:28:33 UTC, committed by Brad King on 05 December 2023, 15:26:10 UTC
Previously CMake may generate incomplete transitive requirements in
CMakeFiles/<target>.dir/CXXModules.json and therefore in module mapper
for compiler, when source files were listed in CMakeList.txt in a
certain order.

This commit fixes the problem by correctly tracking unfinished
transitive requirements computation of module units.

There have been a simple circular test case whose circular dependency
was reported by build system. Now with this correct implementation it's
reported by CMake generating module mappers.

Add two test cases for transitive requirements computation, one with
adding source files in hardcoded order, and the other in randomized
order.

Fixes: #25465
1 parent 3e8f021
History
Tip revision: e9b0dcbbfa51e26f0516c81d7ed3d4051cb539c0 authored by namniav on 04 December 2023, 04:28:33 UTC
cmCxxModuleMapper: Fix transitive requirements computation
Tip revision: e9b0dcb
File Mode Size
.github
.gitlab
Auxiliary
Help
Licenses
Modules
Packaging
Source
Templates
Tests
Utilities
.clang-format -rw-r--r-- 1.4 KB
.clang-tidy -rw-r--r-- 2.1 KB
.codespellrc -rw-r--r-- 644 bytes
.editorconfig -rw-r--r-- 164 bytes
.gitattributes -rw-r--r-- 1.2 KB
.gitignore -rw-r--r-- 504 bytes
.gitlab-ci.yml -rw-r--r-- 38.5 KB
.hooks-config -rw-r--r-- 418 bytes
CMakeCPack.cmake -rw-r--r-- 9.9 KB
CMakeCPackOptions.cmake.in -rw-r--r-- 12.0 KB
CMakeGraphVizOptions.cmake -rw-r--r-- 153 bytes
CMakeLists.txt -rw-r--r-- 21.2 KB
CMakeLogo.gif -rw-r--r-- 4.4 KB
CONTRIBUTING.rst -rw-r--r-- 3.0 KB
CTestConfig.cmake -rw-r--r-- 566 bytes
CTestCustom.cmake.in -rw-r--r-- 7.3 KB
CompileFlags.cmake -rw-r--r-- 5.0 KB
Copyright.txt -rw-r--r-- 5.3 KB
DartConfig.cmake -rw-r--r-- 374 bytes
README.rst -rw-r--r-- 3.8 KB
bootstrap -rwxr-xr-x 64.4 KB
cmake_uninstall.cmake.in -rw-r--r-- 794 bytes
configure -rwxr-xr-x 99 bytes

README.rst

back to top