| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Fixes: #14983, #16561
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
All callers were constructing with a non-empty target name using the
target whose pointer was passed anyway. Drop this argument. Simplify
logic accordingly. Re-order constructor arguments to match the
cmCompiledGeneratorExpression::Evaluate arguments.
Also remove unnecessary getters.
|
|\
| |
| |
| |
| |
| |
| | |
65ab9ce938 Genex: Return Evaluate results as const std::string&
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2314
|
| |
| |
| |
| | |
Also remove unused overloads.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
50fbfee3a0 cmLocalGenerator: return directories as const std::string&
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2309
|
| |/ |
|
|/
|
|
| |
issue: #18251
|
|
|
|
|
|
|
|
|
|
| |
The Xcode 10 "new build system" requires more strict handling of custom
commands. It may need a fix similar to what commit v3.12.0-rc1~171^2
(VS: Generate a custom command only in the least dependent target,
2018-03-23) did for VS. Prepare for this by generating targets within
each local generator in dependency order.
Issue: #18070
|
|
|
|
|
| |
Sort the resulting Xcode object list so that the actual order of
generation does not matter.
|
| |
|
|
|
|
|
| |
Compute an index for each target in a global ordering such that no
target comes before its dependencies.
|
|
|
|
|
| |
Remove a loop over local generators whose body was dropped long ago by
commit v2.6.0~1677 (Remove unused build rules from Xcode, 2007-05-28).
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
ca69206893 Tests: Do not use i386 architecture with Xcode 10 and above
71fa78ff7a Tests: Teach RunCMake to ignore Xcode missing file type warnings
057ecb8f6f C++ feature checks: Ignore Xcode warnings
985d3a162c Xcode: Use legacy build system
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2151
|
| |
| |
| |
| | |
Closes: #18099
|
|\ \
| |/
| |
| |
| |
| |
| | |
bc5bcad45e Xcode: Detect architecture(s) using ARCHS instead of CURRENT_ARCH
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2153
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Xcode 10 no longer populates `CURRENT_ARCH` with the current
architecture in shell scripts and instead uses `undefined_arch`.
Instead we must use `ARCHS`. It lists all architectures separated by
spaces.
Fixes: #18085
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
This family enable to manage link flags
Three new properties:
* directory property: LINK_OPTIONS
* target properties: LINK_OPTIONS and INTERFACE_LINK_OPTIONS
Two new commands
* add_link_options(): to populate directory property
* target_link_options(): to populate target properties
Fixes: #16543
|
|
|
|
|
|
|
|
|
|
|
|
| |
Run the `clang-format.bash` script to update all our C and C++ code to a
new style defined by `.clang-format`. Use `clang-format` version 6.0.
* If you reached this commit for a line in `git blame`, re-run the blame
operation starting at the parent of this commit to see older history
for the content.
* See the parent commit for instructions to rebase a change across this
style transition commit.
|
|
|
|
|
|
|
| |
While we already support `cmake --build . -- -j`, the options after `--`
are specific to the native build tool. Add new options `--parallel
[<N>]` and `-j [<N>]` to abstract this and map to the proper option
for the native build tool.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since commit v3.11.0-rc1~467^2 (VS,Xcode: Add CMakeLists.txt sources
without mutating targets, 2017-10-18) we do not add `CMakeLists.txt` to
target sources but instead generate references to them directly. This
broke projects that explicitly specify their `CMakeLists.txt` file as a
source file because the explicit entry is no longer consolidated with
the generated one.
Teach the relevant generators to avoid duplicating `CMakeLists.txt`
source references and add test cases.
Fixes: #17828
|
| | |
|
|\ \
| |/
| |
| |
| |
| |
| |
| | |
1b5e52fd65 Genex: Fix COMPILE_LANGUAGE propagation through try_compile
2deb9b7f34 Genex: Fix COMPILE_LANGUAGE in SYSTEM include directories
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1844
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When evaluating `INTERFACE_SYSTEM_INCLUDE_DIRECTORIES`, or evaluating
`INTERFACE_INCLUDE_DIRECTORIES` on an imported target, thread the
compile language through to the generator expression evaluator so
that it can support `$<COMPILE_LANGUAGE:...>`.
Fixes: #17811
|
| | |
|
|/
|
|
| |
Fixes: https://gitlab.kitware.com/cmake/cmake/issues/16815
|
|
|
|
|
|
|
|
|
|
|
| |
In case CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY has been enabled
generate only the root-level ZERO_CHECK target so targets in
subdirectories pick up the root generator target of ZERO_CHECK.
For the case that CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY is not
enabled more investigation and a proper and final fix is still needed.
Issue: 14297
|
|
|
|
| |
Fixes: #17711
|
|
|
|
|
|
|
|
|
|
| |
* Change some functions to take `std::string` instead of
`const char*` in the following classes: `cmMakeFile`, `cmake`,
`cmCoreTryCompile`, `cmSystemTools`, `cmState`, `cmLocalGenerator`
and a few others.
* Greatly reduce using of `const char*` overloads for
`cmSystemTools::MakeDirectory` and `cmSystemTools::RelativePath`.
* Remove many redundant `c_str()` conversions throughout the code.
|
|
|
|
|
|
|
| |
Clang incorrectly warns about a case where we initialize a variable
inside a condition in such a way that it will always be initialized
before we use it. Simply initialize the variable when defining it to
silence the warning.
|
| |
|
|
|
|
|
|
|
| |
Add the support of per-source property COMPILE_OPTIONS,
including generator expressions support.
Related: #17507
|
|
|
|
|
| |
Introduce method AppendCompileOptions to support
future source file property COMPILE_OPTIONS.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The set of compile flags used for a target's C and C++ sources is based
on the linker language. By default this is always the C++ flags if any
C++ sources appear in the target, and otherwise the C flags. Therefore
we can define the `COMPILE_LANGUAGE` generator expression in
`INCLUDE_DIRECTORIES` to match the selected language.
This is not exactly the same as for other generators, but is the best VS
and Xcode can do. It is also sufficient for many use cases since the
set of include directories for C and C++ is frequently similar but may
be distinct from those for other languages like CUDA.
Fixes: #17435
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The set of compile flags used for a target's C and C++ sources is based
on the linker language. By default this is always the C++ flags if any
C++ sources appear in the target, and otherwise the C flags. Therefore
we can define the `COMPILE_LANGUAGE` generator expression in
`COMPILE_DEFINITIONS` to match the selected language.
This is not exactly the same as for other generators, but is the best VS
and Xcode can do. It is also sufficient for many use cases since the
set of definitions for C and C++ is frequently similar but may be
distinct from those for other languages like CUDA.
Issue: #17435
|
|\
| |
| |
| |
| |
| |
| |
| | |
4017bf40 Darwin: Emit deployment target that matches the SDK
8f4663ff Xcode: rename embedded SDK query function
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1447
|
| |
| |
| |
| | |
Closes: #17431
|
| | |
|
|/
|
|
| |
Some are user-facing. Others are source comments.
|
|
|
|
| |
Fixes: #17542
|
|
|
|
|
|
| |
This allows users to specify different genex-based compile definitions for each file in a target.
Fixes: #17508
|
|
|
|
|
|
| |
Prepare to add generator expression support to more source properties.
Factor out some duplicated code into a helper to avoid further
duplication.
|
|
|
|
|
|
| |
Some generators auto-generate targets. For example VS generators create
the ALL_BUILD target. Add the ability to mark targets as generator
provided and return that info through cmake-server codemodel.
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
23dd8b9e cmGlobalXCodeGenerator: Support XCTest for XCode 6.4
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1471
|
| | |
|
|/
|
|
|
|
|
|
|
|
| |
The changes are mostly converting old-style explicit iterator for loops
into ranged for statements. A number of for loops had already been
changed over, but local variables had been left behind instead of being
absorbed into the ranged for statement, so these have been cleaned up
too. A couple of minor improvements were made in areas already being
updated by the for loop changes to slightly simplify the code or to
avoid unnecessary conversions between `const char*` and `std::string`.
|
|\
| |
| |
| |
| |
| |
| | |
e4e9ce7c Xcode: Add option to generate only topmost project file
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1395
|