| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
45fedf0e17 Makefile: Add policy CMP0113 to avoid duplication of custom commands
844779bdc1 cmMakefileTargetGenerator: Simplify custom command output collection
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5204
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Do not attach a custom command to a target if it is already attached to one of
the target's dependencies. The command's output will be available by the time
the target needs it because the dependency containing the command will have
already been built.
This may break existing projects that do not properly mark non-created
outputs with the `SYMBOLIC` property. Previously a chain of two custom
commands whose intermediate dependency is not created would put both
commands in a dependent project's Makefile even if the first command is
also in its dependency's Makefile. The first command would run twice
but the build would work. Now the second command needs an explicit
`SYMBOLIC` mark on its input to tell CMake that it is not expected to
exist. To maintain compatibility with projects that left out the mark,
add a policy activating the behavior.
|
|/ / |
|
| |
| |
| |
| | |
Fixes: #19568, #20922
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
f14b390198 GenEx: Remove unneeded dependencies from target info queries
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Raul Tambre <raul@tambre.ee>
Merge-request: !5127
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Only generate a graph dependency between a custom command and
a target when the custom command queries for the file path
of an artifact of the target.
This makes generator expressions such as `TARGET_FILE_DIR`
behave the same way as `TARGET_PROPERTY` which never generated
a graph dependency.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
525464ed2a Xcode: Use "Link Binary With Libraries" build phase in some cases
dc0898205c Xcode: Add special case for file type extension map for .xcassets
7b3d8411a2 Xcode: Refactor build setting append code and attribute getter naming
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5036
|
| |/
| |
| |
| |
| |
| |
| | |
OBJECT and STATIC libraries (framework or non-framework) do not use
this build phase. Not all items to be linked use this build phase either.
Co-Authored-By: Craig Scott <craig.scott@crascit.com>
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
01428c5560 CUDA: Fail fast if CMAKE_CUDA_ARCHITECTURES doesn't work during detection
9f81aa0f69 CUDA: Fail if compiler detection using the host compiler fails
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5155
|
| | |
| | |
| | |
| | |
| | | |
Also re-ordered the code to avoid testing flags for other compilers, since
we know the vendor before full detection.
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If an user specified a host compiler we should fail if we are unable to perform
compiler detection with it.
Previously we would try without and likely succeed and continue. Then we'd fail
during ABI detection and compiler testing since we'd still try to use it.
This is particularly problematic when crosscompiling since we extract the host
linker from the compiler detection link line. This would result in the wrong
host linker being used and a linking error due to architecture mismatch during
ABI detection where other necessary flags may already be present to make the
host compiler work. See #21076 for an example.
Fix this by adding CMAKE_<LANG>_COMPILER_ID_REQUIRE_SUCCESS to
CMakeDetermineCompilerId, which throws a fatal error if executing the compiler
results in a non-zero exit code.
Fixes #21120.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
7de60beddf file: Add CHMOD and CHMOD_RECURSE subcommands
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Marc Chevrier <marc.chevrier@gmail.com>
Merge-request: !5122
|
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes: #21057
Signed-off-by: Sibi Siddharthan <sibisiddharthan.github@gmail.com>
|
|\ \ \
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
5ece12b7e4 gitlab-ci: add ISPC to the Fedora CI image
8976817d6d ISPC: Update help documentation to include ISPC
2368f46ba4 ISPC: Support building with the MSVC toolchain
e783bf8aa6 ISPC: Support ISPC header generation byproducts and parallel builds
34cc6acc81 Add ISPC compiler support to CMake
419d70d490 Refactor some swift only logic to be re-used by other languages
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5065
|
| | | |
|
|\ \ \
| |_|/
|/| |
| | |
| | |
| | |
| | | |
ba497111f6 VS: Add option for custom Win10 SDK version maximum
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5150
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Since commit 83ddc4d289 (VS: Do not select a Windows SDK too high for
current VS version, 2017-08-07, v3.13.0-rc1~72^2~2) we enforce a maximum
SDK version for the VS 2015 generator. The blog post linked in the
original commit is no longer available, but it can be seen here:
* https://web.archive.org/web/20190108032520/https://blogs.msdn.microsoft.com/chuckw/2018/10/02/windows-10-october-2018-update/
In particular, it states:
> VS 2015 Users: The Windows 10 SDK (15063, 16299, 17134, 17763)
> is officially only supported for VS 2017.
However, in some circumstances a higher version can be used.
Add a `CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM` to override the
generator's default maximum SDK version.
Fixes: #20633
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
940fc62962 macOS: Respect OSX_ARCHITECTURES for ASM
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5152
|
| |/ /
| | |
| | |
| | | |
Fixes #20771.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
3ef0c40962 WIN32_EXECUTABLE: Add support for generator expressions
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5146
|
| |/ / |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
27a912193b file(GENERATE): Add TARGET argument
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5131
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
Adds TARGET argument to file(GENERATE) to make resolving generator expressions
requiring a target possible.
Implements #21101, fixes #21074.
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
Previously we would synthesize <TARGET_NAME>-NOTFOUND as the location. This
would then end up on the link line and cause build failures.
Policy CMP0110 is added to control this behaviour.
Fixes #19080, #19943.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
267de3ba30 CPack/WiX: Add support for custom XML namespaces
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5132
|
| | |
| | |
| | |
| | |
| | |
| | | |
Add a `CPACK_WIX_CUSTOM_XMLNS` option to specify these.
Fixes: #21098
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | | |
a20987732b add_test: Allow special characters in test name (w/ policy CMP0110)
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5076
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Restore the change from commit f84af8e270 (add_test: Allow special
characters in test name, 2020-05-16, v3.18.0-rc1~142^2) that had to be
reverted by commit f84af8e270 (add_test: Allow special characters in
test name, 2020-05-16, v3.18.0-rc1~142^2) for compatibility.
Add policy CMP0110 to make the change in a compatible way.
Also, support even more characters than before by generating the
test scripts using bracket arguments around the test names.
Fixes: #19391
Signed-off-by: Deniz Bahadir <dbahadir@benocs.com>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
Add an `OPTIMIZE_DEPENDENCIES` target property and supporting
`CMAKE_OPTIMIZE_DEPENDENCIES` variable to optionally enable pruning and
flattening of outgoing dependencies from static libraries. Since they
do not actually link, they only depend on side effects of their
dependencies. Therefore we can drop dependencies that contribute no
side effects.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
bafa9fe887 fileapi: Add INTERFACE libraries with SOURCES to codemodel-v2
4391913133 Add INTERFACE libraries to generated buildsystem if they have SOURCES
afb998704e Remove filtering of allowed INTERFACE library properties
e7edba2baf Makefiles: Use IsInBuildSystem in global generator target type checks
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5078
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
INTERFACE libraries were created with the intention of collecting usage
requirements for use by other targets via `target_link_libraries`.
Therefore they were not allowed to have SOURCES and were not included in
the generated buildsystem. In practice, this has become limiting:
* Header-only libraries do have sources, they just do not compile.
Developers should be able to edit those sources (the header files)
in their IDE.
* Header-only libraries may need to generate some of their header
files via custom commands.
Some projects work around these limitations by pairing each interface
library with an `add_custom_target` that makes the header files and
custom commands appear in the generated buildsystem and in IDEs.
Lift such limitations by allowing INTERFACE libraries to have SOURCES.
For those with sources, add a corresponding build target to the
generated buildsystem.
Fixes: #19145
|
|\ \ \
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | |
| | | |
20ebaed972 Clang: Add support for passing VFS arguments
d993ebd4ca clang-cl: Add '--' before source file
a94672b919 cmake: Change cmake_llvm_rc separator from -- to ++ to avoid conflict
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5087
|
| |/ |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
7cc815a2a6 CUDAToolkit: Detect CUDA SDK that don't have nvcc
Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: Raul Tambre <raul@tambre.ee>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Merge-request: !5061
|
| |/
| |
| |
| |
| |
| |
| |
| | |
When a CUDA sdk doesn't have nvcc, defer to the existence of
a version.txt file. When we do this fall back we also reconstruct
the CUDA version via version.txt
Fixes #20643
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
f76c20da63 Toolchain: Test compiler initial settings
db486da265 Toolchain: Update documentation for initial compiler flags
deec2f587c Toolchain: Take CMAKE_<lang>_FLAGS_INIT into account during compiler detection
ca899af3e2 Toolchain: Handle repeated invocations of CMake with -DCMAKE_C_COMPILER
12ba89e142 Toolchain: Make `/path/comp;-argn' behave the same as 'comp;-argn'
6f1af899db Toolchain: Capture all arguments from CMAKE_<LANG>_COMPILER
ec1d3bc0b6 cmake: avoid exception when printing "changed variables" message
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4136
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
fed7d8f76d file(DOWNLOAD): Make file argument optional
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5060
|
| |/ |
|
|/ |
|
|\
| |
| |
| |
| |
| |
| | |
2fad00940d cmake: Add -E create_hardlink
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5015
|
| |
| |
| |
| |
| | |
Fixes: #20950
Signed-off-by: Sibi Siddharthan <sibisiddharthan.github@gmail.com>
|
|/
|
|
|
|
|
| |
Apple tech note QA1806 recommends always building against the latest
SDK.
Fixes: #20949
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
cee92a9fb0 Help: add release notes for CTest cuda-memcheck support
f38e4a1871 Tests: Add cases for CTest cuda-memcheck parser
fe062800f0 CTest: add cuda-memcheck support
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: tcojean <terry.cojean@kit.edu>
Merge-request: !4952
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
df6b077625 cmake: Remove broken '--warn-unused-vars' option
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !4953
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This option has been broken since commit b9f9915516 (cmMakefile: Remove
VarUsageStack., 2015-05-17, v3.3.0-rc1~52^2). That commit removed the
check that an initialized variable has actually been used and caused the
option to warn on every variable ever set. This was not caught by the
test suite because the test for the feature only checked that warnings
appear when needed and not that they do not appear when not needed.
The option was never very practical to use. Remove it to avoid the
runtime cost of usage tracking and checks for every variable (which we
were doing even when the option was not used).
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
27b03281e2 configure_file: Add option to control file permissions transfer to copy
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4941
|
| |/
| |
| |
| | |
Issue: #20866
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
a468cc431c FindTIFF: add component CXX to include the C++ wrapper libtiffxx
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4934
|