| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The refactoring in 17e5516e60 (FetchContent: Invoke steps directly and
avoid a separate sub-build, 2021-01-29) uses a different way of writing
out the step scripts and updating time stamps when steps are executed.
That inadvertently always wrote out the scripts for custom commands,
even when the contents didn't change. This caused their timestamp to
always be updated, resulting in those steps always being seen as
out-of-date and needing to be re-executed.
The way timestamps were checked to determine whether to re-execute
a step also did not adequately account for file systems which only have
second-resolution timestamps. The IS_NEWER_THAN if condition also
returns true when timestamps are the same, so one needs to use the
negative form to get a true "is newer than" test.
ExternalProject is not susceptible to this problem because it uses
file(GENERATE) to write out the script files and that only updates the file's
timestamp if the contents change. It also mostly leaves timestamp
checking to the build tool.
|
|
|
|
|
|
| |
The refactoring in 17e5516e60 (FetchContent: Invoke steps directly and
avoid a separate sub-build, 2021-01-29) contained a typo which resulted
in any PATCH_COMMAND being ignored. Fix the typo and add a test case
that would have caught the regression.
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
cd89d1c328 FindCUDAToolkit: Robust version checks when CUDA lang is not enabled
Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Tested-by: Raul Tambre <raul@tambre.ee>
Merge-request: !5787
|
| |
| |
| |
| |
| |
| | |
Previously if you set `CMAKE_CUDA_COMPILER` but hadn't enabled
the CUDA language, FindCUDAToolkit would not correctly compute
the version information.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
0110aa018d IOS_INSTALL_COMBINED: Support Xcode 12 (command line only)
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5785
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Xcode 12 doesn't allow nested builds within the same build directory.
That means we can no longer do an install by building the install target
when IOS_INSTALL_COMBINED is true. We can, however, still do an install
by running the cmake_install.cmake script or executing cmake --install,
since there is no outer build and therefore the associated SDK can be
built as a sub-build.
The non-build methods previously didn't work when
IOS_INSTALL_COMBINED was true because the generated install script
and the CMakeIOSInstallCombined script both made certain assumptions
that relied on being part of a build. Those assumptions are now
removed. A side-effect of this work is that cpack now also works from the
command line when IOS_INSTALL_COMBINED is true.
Relates: #21282
Fixes: #20023
|
| | |
| | |
| | |
| | | |
Fixes: #21621
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
4d46b1401f add_library(): Allow imported object libraries with multi-arch
1a915e8953 Tests: TargetObjects does not need any languages enabled
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5771
|
| | | |
| | | |
| | | | |
Fixes: #21276
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
0aabeb0c30 CPack/NSIS: Add option for setting branding text
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5784
|
| | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | | |
See https://nsis.sourceforge.io/Reference/BrandingText
for more information.
Fixes: #21479
|
|\ \ \ \
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | | |
657fc3a9a7 CMakeDetermineCompilerABI: Parse library arch from versioned paths
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5773
|
| |/ /
| | |
| | |
| | |
| | |
| | | |
Teach CMake how to extract `CMAKE_<LANG>_LIBRARY_ARCHITECTURE` from
versioned paths such as `/usr/lib/gcc/x86_64-linux-gnu/9`. These kind of
paths are generated by NVHPC compilers.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
17e5516e60 FetchContent: Invoke steps directly and avoid a separate sub-build
4f3d1abbb4 ExternalProject: Refactor pre-configure steps to support no-target uses
23aab9ecce ExternalProject: Avoid scanning docs for keywords, use include_guard()
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robertjmaynard@gmail.com>
Acked-by: Michael Hirsch, Ph.D. <michael@scivision.dev>
Acked-by: Lars Melchior <lars.melchior@gmail.com>
Merge-request: !5749
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The cost of setting up and executing a separate sub-build to do the
download, update and patch steps required for FetchContent population
can be significant with some platforms and CMake generators. Avoid the
sub-build altogether by invoking the step scripts directly.
Previously, if no generator was set (e.g. population was being done in
script mode), a generator needed to be available on the default PATH.
Since we no longer use a sub-build, this restriction is also now gone.
Fixes: #21703
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The mkdir, download, update and patch steps are used by
FetchContent during the configure phase of the main build. Because
these steps need a target, this has so far required a sub-build to be
set up. The changes here factor out the preparation of the scripts
from the creation of the targets, allowing future work to leverage these
steps without a sub-build (see #21703).
As part of the refactoring, some rationalisation of the stamp files,
repository info files and script names was done to make things more
consistent between download methods and step implementations.
Every download method now records its own specific repository info
in a file and that file is a dependency of the download step. The source
directory is also written to that file, so if the SOURCE_DIR changes, the
download will be retriggered (the existing implementation fails in this
scenario). Each download method now also has just one driver script
that implements the whole step (it may pull in other scripts to do its
task though). The patch step gained support for USES_TERMINAL as
a result of generalising the implementation for custom commands.
Fixes: #21748
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The previous implementation was scanning the documentation in
the file at runtime to determine the set of supported keywords for
each public function. This was fragile, made it difficult to restructure
the documentation and was sometimes observable in runtime
performance measurements. Change to a more conventional
approach where supported keywords are explicitly listed in the
code.
The internal _ExternalProject_SELF variable is no longer needed.
CMake now provides CMAKE_CURRENT_FUNCTION_LIST_DIR which
can be used for the same purpose and avoids having to set a
variable when the module is read. This also removes the
requirement that the module must be included by the current or a
parent scope. It is now enough that the module has been included
once somewhere before calling any of its functions.
The above changes combined mean that the module can now use
include_guard() and avoid having to re-parse the very long file every
time.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
9b5289ebd8 Help: Add release note for build and test presets
c8a5cd6871 Tests: Update RunCMake/CMakePresets --list-presets
69a5cf23a2 Tests: Update RunCMake/CommandLine BuildDir
b500935b94 Tests: Add test preset tests
74a86566f0 Tests: Add build preset tests
56751c83aa Tests: Factor out RunCMake.CMakePresets schema validation
676ecf0d37 cmake-presets: Add build and test presets
4f4f2028b8 Help: Add documentation for buildPresets and testPresets
...
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5681
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Make it available to similar tests. Also fix whitespace
in generated error message.
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
e017ba046c AIX: Enable XCOFF editing to replace RPATH on installation
56fc4a325f cmXCOFF: Add helper to parse and edit the XCOFF binary format
ddaaee907d CMakeDetermineCompilerId: Recognize XCOFF executable format
69e1d95a8a Tests: Add sample XCOFF binaries
f79d991dfd Tests: Convert CMake.ELF to RunCMake.file-RPATH ELF case
d8f3e68ca9 Ninja Multi-Config: Enable relink diagnostic message
cdcfe3eb99 Rename CMAKE_USE_MACH_PARSER to CMake_USE_MACH_PARSER
b6071c93f5 Rename CMAKE_USE_ELF_PARSER to CMake_USE_ELF_PARSER
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5769
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Avoid relinking before installation.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Generate the binaries as follows:
$ cat main.c
int main(void) { return 0; }
$ xlc -q64 -o xcoff64.bin -Wl,-blibpath:/sample/rpath:/usr/lib:/lib main.c
$ strip -X 64 xcoff64.bin
$ xlc -q32 -o xcoff32.bin -Wl,-blibpath:/sample/rpath:/usr/lib:/lib main.c
$ strip -X 32 xcoff32.bin
|
| | |_|/ /
| |/| | | |
|
|\ \ \ \ \
| |/ / / /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | | |
5af38a11ce try_run: Allow to set working directory
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5757
|
| | | | |
| | | | |
| | | | |
| | | | | |
Fixes: #17634
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
c450d66daa PCH: Remove restrictions for REUSE_FROM signature for MSVC
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5765
|
| |/ / / /
| | | | |
| | | | |
| | | | | |
Fixes: #20201
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This reverts commit 9f060971411aca979807f70307d8b9fe1b43ff24.
It was merged accidentally.
|
| |\ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
9f06097141 PCH: Remove restrictions for REUSE_FROM signature for MSVC
Acked-by: Kitware Robot <kwrobot@kitware.com>
Rejected-by: Cristian Adam <cristian.adam@gmail.com>
Acked-by: Cristian Adam <cristian.adam@gmail.com>
Merge-request: !5728
|
| | |/ / /
| | | | |
| | | | |
| | | | | |
Fixes: #20201
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | | |
This affects only Windows where \n will be translated as \r\n
Fixes: #21769
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
255df8622b file(GENERATE): Support new line style
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Brad King <brad.king@kitware.com>
Merge-request: !5649
|
| | | | |
| | | | |
| | | | |
| | | | | |
Fixes: #19198
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
bc00cf9300 FindOpenSSL: Add support for version-range
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5750
|
| |/ / / / |
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
1aefa86c31 Tests: Accept line breaks in more places in dpkg-shlibdeps error message
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5751
|
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The RunCPackVerifyResult-shlibdeps-with-private-lib-failure test failed
intermittently due to sometimes breaking lines in its output in different
places. This change accepts line breaks in more places in the command
output.
Signed-off-by: william.r.dieter <william.r.dieter@intel.com>
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
8213390a3e Added `SETUID` and `SETGID` to the list of accepted file permissions
f41d0e0c77 Tests: Explicitly set permissions in CPack tests to avoid perimssions errors
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5754
|
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When the user has the setgid bit is set on the parent directory of
the build directory, the setgid bit will be propagated throughout the
build tree. Most tests do not care about permissions as long as they
can read and write the files the need. The CPack tests, however, validate
that permissions match an expected set, and fail with the setgid bit set.
Explicitly set permissions on directories created in the CPackTestHelpers
to clear the setgid bit.
Signed-off-by: william.r.dieter <william.r.dieter@intel.com>
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
c0b1f5f30c Tests: Add host to ENV{no_proxy} when DNS lookup failure is expected
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5752
|
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
DNS lookup of an invalid host name fails with a different error in a proxy
environment than it does in an environment without proxy. Many tools,
including curl, use the `no_proxy` environment variable to provid a list
of hosts for which proxy should not be used.
To make lookup failure consistent, add invalid host names to the
`no_proxy` environment variable in tests that attempt to look up invalid
host names. This way the lookup will fail consistently regardless of
whether proxy is generally used or not.
Signed-off-by: william.r.dieter <william.r.dieter@intel.com>
|
|\ \ \ \ \
| |/ / / /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | | |
6e225efd8c file(CONFIGURE): Fix newlines in CONTENT
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5747
|
| | | | |
| | | | |
| | | | |
| | | | | |
Fixes: #21749
|
|\ \ \ \ \
| |_|_|/ /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | | |
76cea3dfe2 cmake_path: rename 'GET ... RELATIVE_PATH' to 'GET ... RELATIVE_PART'
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5743
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | | |
For consistency, subcommand 'HAS_RELATIVE_PATH' is also renamed
to 'HAS_RELATIVE_PART'.
Fixes: #21385
|