777ceaea94 cmMakefile: Delay custom command creation
4e37508c85 cmLocalGenerator: Refactor to use cmMakeSingleCommandLine
96e5042e46 cmCustomCommand: Explicitly pass backtrace on construction
3dc084ebc1 cmMakefile: Explicitly pass backtrace to GetCustomCommandTarget
e8360afbf7 cmPluginAPI: Correct typo in documentation of FinalPass
bf76a6b801 cmMakefile: Delay CheckTargetProperties and FinalPass to generate time
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3865
Move custom command creation to cmLocalGenerator and dispatch custom
commands in cmMakefile to generate time. Generators add custom commands
using the new methods provided by cmLocalGenerator.
Issue: #12877
Fix logic added by commit 81566557d5 (ObjC: Initialize ObjC/XX standard
properties from C/C++ counterparts, 2019-11-09) to account for cases
when the CXX standard is not explicitly set. Also, do not copy the
`*_STANDARD_REQUIRED` and `*_EXTENSIONS` properties unless we copied the
`*_STANDARD` property.
48d1456b3d UnityBuild: Resolve full paths of unity source includes
ec2f130aa9 cmFileAPI: Resolve full path in PCH source comparison
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4029
48d1456b3d UnityBuild: Resolve full paths of unity source includes
ec2f130aa9 cmFileAPI: Resolve full path in PCH source comparison
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4029
Fix a warning from clang-scanbuild:
warning: Value stored to 'chunk' during its initialization is never read
for (size_t itemsLeft = filtered_sources.size(), chunk = batchSize,
^~~~~ ~~~~~~~~~
Simply remove the initializer.
Since commit b80557c7bd (file(GENERATE): Evaluate early to allow
generating source files, 2014-11-04, v3.2.0-rc1~398^2) we create the
`cmSourceFile` instances marked with a `GENERATED` source file property
before tracing source dependencies. Move it to even earlier so that
steps in `cmGlobalGenerator::AddAutomaticSources` can operate on all
sources. This also avoids the accidental `O(n^2)` calls for `n` local
generators that we had previously.
This is also needed since commit 83c1657ff7 (Unity build: Generate
sources during Compute step, 2019-10-03) to support `file(GENERATE)`
outputs as sources in a target with `UNITY_BUILD` enabled.
If the target has C files, it will get a C PCH file.
The same for C++ files. The linker language is no
longer used to determine which language to use for
PCH.
Fixes: #19790
The unity build sources need to be added for all generators. Create
them during `cmGlobalGenerator::Compute` to avoid duplicating the calls
in every generator. We already handle Qt autogen there too.
Issue: #19789
dd0f304613 Objective C/C++: Add compiler standard detection
b515af782b Help: Add release note for Objective-C/C++ language support
9e66397c28 Languages: Add support for Objective-C++
80f120a85f Languages: Add support for Objective-C
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3811
Add entries in Modules and Modules/Platform to support
Objective-C compiler determination and identification.
Add Modules to check Objective-C compiler flags, source
compilations, program checks, etc...
Use OBJC as the designator of the language, eg:
project(foo OBJC)
Add various tests for Objective-C language features. Add
tests to preserve C++ handling of .m and .mm files when
OBJC is not a configured language.
Co-Authored-By: Cristian Adam <cristian.adam@gmail.com>
cmGeneratorExpression::Evaluate is a shortcut when only the evaluated string is
needed or an instance of cmCompiledGeneratorExpression cannot be cached.
Fixes: #19686
The quiet flag is false for all but one call to Evaluate. Make the quiet flag
a setter of cmCompiledGeneratorExpression to be able to remove it from the
Evaluate function signature.