mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-06 13:51:33 -06:00
The `cmArgumentList` has been turned into a class (forward declared in the header). It inherits from the `std::list` (yeah, but we don't intend to store polymorphic classes in it). In addition to the standard methods, now it's possible to move `HandlePredicate` (renamed to `ReduceOneArg`) and `HandleBinaryOp` (renamed to `ReduceTwoArgs`) as its members. Additionally, iterators managements (`IncrementArguments`) have been refactored into two separate classes mimicking iterators. This also allows having a uniform `for` loop and concentrates the logic of iterators advancing in it instead of the loop's body. The arguments processing algorithms operate with "windows" over a collection of arguments. Hence there are two kinds of "iteration windows" -- allowing to observe 2 or 3 elements per loop iteration. These iteration "windows" also passed to reducers.
18 lines
400 B
CMake
18 lines
400 B
CMake
include(RunCMake)
|
|
|
|
run_cmake(InvalidArgument1)
|
|
run_cmake(IsDirectory)
|
|
run_cmake(IsDirectoryLong)
|
|
run_cmake(duplicate-deep-else)
|
|
run_cmake(duplicate-else)
|
|
run_cmake(duplicate-else-after-elseif)
|
|
run_cmake(elseif-message)
|
|
run_cmake(misplaced-elseif)
|
|
|
|
run_cmake(MatchesSelf)
|
|
run_cmake(IncompleteMatches)
|
|
run_cmake(IncompleteMatchesFail)
|
|
|
|
run_cmake(TestNameThatExists)
|
|
run_cmake(TestNameThatDoesNotExist)
|