[Solved] Windows process argument length limit?

In my CMake-based Windows app build, I am all of a sudden running into what seems to be a process argument length limit. The build worked fine previously. I am doing some refactoring work that added a few new files.

The error I am getting is

ninja: fatal: CreateProcess: The parameter is incorrect.
 (is the command line too long?)

Full terminal output (line-wrapped to make it easier to read):

E:\sandbox\ktraunmueller\compositor\Sources\Win\Compositor-Win>cmake --build
--preset debug [59/150] Building RC object
Core-build/Sources/freetype/CMakeFiles/freetype.dir/src/base/ftver.rc.res
Microsoft (R) Windows (R) Resource Compiler Version 10.0.10011.16384 Copyright
(C) Microsoft Corporation. All rights reserved.

[79/150] Building Swift Module 'CompositorCore' with 296 sources CreateProcess
failed. Command attempted: "E:\Swift\Toolchains\0.0.0+Asserts\usr\bin\swiftc.exe
-j 4 -num-threads 4 -c -parse-as-library -static -emit-module -emit-module-path
Core-build\CompositorCore.swiftmodule -module-name CompositorCore
-module-link-name CompositorCore -DDEBUG -Onone -g -use-ld=lld
-diagnostic-style=llvm -Xlinker /DEBUG:FULL -Xlinker -debug:dwarf -swift-version
5 -libc MDd -incremental -cxx-interoperability-mode=default -suppress-warnings
-Xcc
-fmodule-map-file=E:\sandbox\ktraunmueller\compositor\Sources\Win\Compositor-Win\build\TracyC-build\include\TracyC\module.modulemap
-Xcc -IE:\sandbox\ktraunmueller\compositor\Sources\Win\TracyC -output-file-map
Core-build\CMakeFiles\CompositorCore.dir\Debug\output-file-map.json -I
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/cppbridge/include -I
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/freetype/include -I
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/lz4/include -I
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/spdlog/include -I
E:/sandbox/ktraunmueller/compositor/Sources/Win/Compositor-Win/build/swift -I
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/cppbridge/../spdlog/include
-I
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/cppbridge/../lz4/include
-I E:/Swift/Toolchains/0.0.0+Asserts/usr/include -I
E:/sandbox/ktraunmueller/compositor/Sources/Win/Compositor-Win/build/Core-build/Sources/freetype/include
-I E:/sandbox/ktraunmueller/compositor/Sources/Win/TracyC
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/ASCII/ASCII.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/ASCII/ASCIICharacter.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/ASCII/ASCIIString+Array.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/ASCII/ASCIIString+CString.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/ASCII/ASCIIString+Comparable.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/ASCII/ASCIIString+Diagnostics.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/ASCII/ASCIIString+Equalities.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/ASCII/ASCIIString+Regex.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/ASCII/ASCIIString+Sequence.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/ASCII/ASCIIString+String.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/ASCII/ASCIIString+Undo.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/ASCII/ASCIIString+Utils.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/ASCII/ASCIIString.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/ASCII/ASCIIStrings.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/ASCIIPieceTable/ASCIIPieceTable+Collection.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/ASCIIPieceTable/ASCIIPieceTable+Comparable.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/ASCIIPieceTable/ASCIIPieceTable+Diagnostics.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/ASCIIPieceTable/ASCIIPieceTable+Equatable.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/ASCIIPieceTable/ASCIIPieceTable+Hashable.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/ASCIIPieceTable/ASCIIPieceTable+Lines.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/ASCIIPieceTable/ASCIIPieceTable+NSRange.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/ASCIIPieceTable/ASCIIPieceTable+RowColumn.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/ASCIIPieceTable/ASCIIPieceTable+Search+Character.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/ASCIIPieceTable/ASCIIPieceTable+Search+String.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/ASCIIPieceTable/ASCIIPieceTable+Sequence+Backwards.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/ASCIIPieceTable/ASCIIPieceTable+Sequence.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/ASCIIPieceTable/ASCIIPieceTable+Slice+Equatable.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/ASCIIPieceTable/ASCIIPieceTable+Slice+Hashable.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/ASCIIPieceTable/ASCIIPieceTable+Slice+Lines.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/ASCIIPieceTable/ASCIIPieceTable+Slice+Sequence.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/ASCIIPieceTable/ASCIIPieceTable+Slice+Slicing.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/ASCIIPieceTable/ASCIIPieceTable+Slice.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/ASCIIPieceTable/ASCIIPieceTable+Slicing.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/ASCIIPieceTable/ASCIIPieceTable+String.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/ASCIIPieceTable/ASCIIPieceTable+Undo.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/ASCIIPieceTable/ASCIIPieceTable.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeCompletion/CodeCompleter.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeCompletion/CodeCompletionStateMachine.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeCompletion/CodeCompletionsController.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeCompletion/CodeCompletionsHighlighting.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeCompletion/Descriptors/CommandArgumentsDescriptor.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeCompletion/Descriptors/CommandDescriptor.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeCompletion/Descriptors/DocumentClassDescriptor.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeCompletion/Descriptors/EnvironmentDescriptor.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeCompletion/Descriptors/OptionDescriptor.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeCompletion/Descriptors/PackageDescriptor.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeCompletion/Documentation/AMSMath.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeCompletion/Documentation/LaTeX2e.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeCompletion/Index/PackageIndex.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeCompletion/Index/PackageIndexer.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeCompletion/Parser/DocumentClassParser.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeCompletion/Parser/PackageParser.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeCompletion/Parser/PackageParserRegexes.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeCompletion/ThemeColors+CodeCompletion.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeCompletion/UI/CodeCompletionPopupModel.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeEditor/CodeEditor+Buffer.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeEditor/CodeEditor+Clipboard.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeEditor/CodeEditor+Coords.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeEditor/CodeEditor+Editor.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeEditor/CodeEditor+Find.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeEditor/CodeEditor+Fonts.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeEditor/CodeEditor+GlyphRun.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeEditor/CodeEditor+Issues.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeEditor/CodeEditor+LaTeXSyntax+Lines.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeEditor/CodeEditor+LaTeXSyntax.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeEditor/CodeEditor+Layout.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeEditor/CodeEditor+MatchingBraces.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeEditor/CodeEditor+Selection.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeEditor/CodeEditor+SourceLine.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeEditor/CodeEditor+Transformations.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeEditor/CodeEditor.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeEditor/Storage/CharBuffer.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeEditor/ThemeColors+CodeEditor.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeEditor/ThemeColors+LaTeXSyntax.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeFind/CodeFindResult.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeFind/CodeFindState.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeFind/UI/CodeFindController.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeFind/UI/CodeFindHost.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeFind/UI/CodeFindModel.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/CodeFind/UI/ThemeColors+Find.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/DVI/DVI+Layout.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/DVI/DVI+Parsing.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/DVI/DVI+Selection.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/DVI/DVI.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/DVI/DVIDocumentViewModel.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/DVI/DVIImageSourceResolution.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/DVI/ScaledPoints.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/DVI/TFM.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/DVIFind/DVIFindResult.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/DVIFind/DVIFindState.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/DVIFind/UI/DVIFindReplaceController.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/DVIFind/UI/DVIFindReplaceHost.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/DVIFind/UI/DVIFindReplaceViewModel.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Distro/Distro.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Distro/Packages/PackageDatabase.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Distro/Packages/PackageDownloader.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Distro/Packages/PackageInstaller.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Distro/Packages/PackageManager.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Distro/Packages/Package_.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Distro/Packages/ShellUtils.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Document/DocumentModel+CodeFind.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Document/DocumentModel.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Document/Issue.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Fonts/Freetype.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/FormulaEditor/FormulaEditorController.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/FormulaEditor/FormulaEditorToolbox.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Inspector/Document/Inspector+Document.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Inspector/Image/Inspector+Image.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Inspector/Inspector+Catalog.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Inspector/Inspector+HostSession.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Inspector/Inspector+Route.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Inspector/Inspector+Session.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Inspector/Inspector.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Inspector/Section/Inspector+Section.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Inspector/Table/Inspector+Table.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Logging/ActivityTracing+Description.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Logging/ActivityTracing+ObjC.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Logging/ActivityTracing.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Logging/Logging+cpp.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Logging/spdlogAdapters.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Environnments/MathArray.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Environnments/MathEnvironments.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Functions/MathFunctions.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/KaTeX.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Math.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/MathLexer.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/MathNamespace.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/MathNode.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/MathOptions.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/MathParser.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/MathStyle.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/MathUnits.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Symbols/MathSymbols.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Utils/Math+Canonicalization.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Utils/Math+JSStrings.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Utils/MathNode+Unwrapping.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Utils/MathNode+Utils.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/API/ArrayViewProtocol.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/API/NodeViewProtocol.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/AccentView.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/ArrayDecoratorViews.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/ArrayView.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/AtomView.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/Atoms.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/DelimSizingView.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/Delimiters.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/FontView.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/GenFracView.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/HorizBraceView.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/InsertionPointView.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/KeyView.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/LeftRightView.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/MClassView.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/MathOrdView.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/NodeView+Accent.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/NodeView+Diagnostics.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/NodeView+HorizBrace.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/NodeView+KeyView.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/NodeView+Operator.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/NodeView.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/NodeViews.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/OpView.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/OrdGroupView.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/OverUnderlineView.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/PlaceholderView.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/RuleView.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/SizingView.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/SpacingView.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/SqrtView.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/StretchyView.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/StringView.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/StylingView.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/SupSubView.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/SymbolView.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/TextOrdView.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/TextView.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/Utils/ColoredView.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/Utils/FlexibleViews.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/Utils/NSStackView+Utils.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/Utils/NSView+Layout.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/Utils/TextRendering.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Math/Views/ViewBuilders.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Navigator/DocumentOutline/DocumentOutlineConsumer.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Navigator/DocumentOutline/DocumentOutlineItem.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Navigator/DocumentOutline/DocumentOutlineStore.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Navigator/Figures/FigureConsumer.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Navigator/Figures/FigureItem.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Navigator/Figures/FigureStore.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Navigator/Labels/LabelConsumer.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Navigator/Labels/LabelItem.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Navigator/Labels/LabelStore.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Navigator/Navigator+DocumentOutline.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Navigator/Navigator+Figures.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Navigator/Navigator+Labels.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Navigator/Navigator+Tables.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Navigator/Navigator.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Navigator/NavigatorScanner.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Navigator/NavigatorSharedScan.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Navigator/Tables/TableConsumer.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Navigator/Tables/TableItem.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Navigator/Tables/TableStore.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Operations/AsyncOperation.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Platform/Clipboard/Clipboard.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Platform/Color/Color+Platform.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Platform/Events/Event+Platform.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Platform/Events/Event.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Platform/Events/KeyboardAction.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Platform/Folders/FolderUtils.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Platform/Folders/MacFolderUtils.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Platform/Fonts/FontManager.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Platform/Fonts/FontWeight.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Platform/Fonts/Glyph+Platform.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Platform/Fonts/GlyphNames+CodeNewRoman.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Platform/Fonts/GlyphNames+FiraCode.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Platform/Fonts/MacFontManager.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Platform/Fonts/NSFont+Utils.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Platform/Geometry/Float+Platform.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Platform/Geometry/Geometry+Utils.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Platform/Geometry/Path+Platform.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Platform/Geometry/Path.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Platform/Geometry/Point+Platform.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Platform/Geometry/Point.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Platform/Geometry/Rect+Platform.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Platform/Geometry/Rect.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Platform/Geometry/Size+Platform.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Platform/Geometry/Size.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Platform/Images/Image+Platform.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Platform/Images/ImageManager.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Platform/Images/MacImageManager.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Platform/Regex/Regex+Platform.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Platform/Strings/AttributedText.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Platform/Undo/Undo+Platform.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Selection/ContiguousSelection.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Selection/ContiguousSelectionGroup.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Source/Bracing.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Source/Command.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Source/Commands.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Source/Edit.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Source/EditingModel.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Source/Encodings.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Source/Equations/EquationModel+Scope.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Source/Equations/EquationModel.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Source/Equations/EquationParser.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Source/FloatingObjects.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Source/Floats/FloatModel.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Source/Floats/FloatParser.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Source/GraphicsUtils.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Source/Images/ImageFloatModel+Scope.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Source/Images/ImageFloatModel.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Source/Images/ImageFloatParser.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Source/Images/ImageModel.swift
...(removed around 40 lines to not run into forum post length limit)
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Utils/Range+Utils.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Utils/String+Utils.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Utils/Timing.swift
E:/sandbox/ktraunmueller/compositor/Sources/Core/Sources/CompositorCore/Utils/TimingStatistics.swift"
ninja: fatal: CreateProcess: The parameter is incorrect. (is the command line
too long?)

That swiftc invocation with arguments is 32.915 characters in total.

The relevant section of my CMakeLists.txt is

add_library(CompositorCore STATIC)

set_target_properties(CompositorCore PROPERTIES
    Swift_MODULE_NAME CompositorCore
)

target_compile_options(CompositorCore PRIVATE
    -cxx-interoperability-mode=default
    -suppress-warnings  # TODO remove - this disables all warnings!
)

file(GLOB_RECURSE SWIFT_SOURCES
    "Sources/CompositorCore/*.swift"
)
target_sources(CompositorCore PRIVATE ${SWIFT_SOURCES})

Anyone else has run into something similar?

So this may be the limit I am hitting:

CreateProcess / native Windows process creation: maximum command line is 32,767 UTF-16 characters, including the terminating null character.

Question then is, what's the best workaround in a CMake build setting?

I believe that this is a driver issue (CC: @ArtemC @etcwilde). I believe that the workaround is -D CMAKE_NINJA_FORCE_RESPONSE_FILE=YES.

Edit: Please file an issue on GitHub.

1 Like

Thanks, Saleem.

Adding

"CMAKE_NINJA_FORCE_RESPONSE_FILE": "ON"

to my CMakePresets.json and reconfiguring got rid of the problem.

Reported as Hitting process argument length limit in CMake-based build on Windows · Issue #2169 · swiftlang/swift-driver · GitHub

1 Like

I'm not sure whether I would call it a "bug" or not. Making Swift compile full modules in one invocation is a design decision of the language while the hard command-line length limit is an ABI design decision in Windows for how Windows passes command line arguments. It just happens that the two decisions do not like each other very much. These decisions were made long ago and would be horribly breaking to change at this point.

CMAKE_NINJA_FORCE_RESPONSE_FILE is how you tell CMake to pass the arguments via a file instead of the command-line. Arguably, if there is a bug here, it's CMake not passing the arguments by response file when it knows that the command-line length is too long. At the moment, CMake will only pass them by response file if you have set CMAKE_NINJA_FORCE_RESPONSE_FILE, otherwise it will always pass them by commandline.

3 Likes

Yes, I agree that this is the issue that I wanted to track. CMake estimates the command line length and then determines if it should use a RSP or not. This seems to fail with the driver not reporting the correct command line.

From what I can tell, does the arg-length estimation everywhere, but only uses CMAKE_NINJA_FORCE_RESPONSE file to determine whether or not to use a response file. I don't see any indication of it doing anything smart with the argument length.

This is the commandLine length limit check in the C/C++ object build emission code, which then gets fed into the WriteBuild call.

ForceResponseFile() just checks the value of CMAKE_NINJA_FORCE_RESPONSE_FILE.

WriteBuild has the logic for generating the response file properly, but none of the places where the command line length limit is set are doing anything smarter than checking CMAKE_NINJA_FORCE_RESPONSE_FILE. It shouldn't be too hard, but this doesn't look like a Swift-specific thing, just that Swift hits the limit faster because it takes all of the file paths in one invocation.