Commit Graph

7552 Commits

Author SHA1 Message Date
Brad King 14a5712447 Swift: Fix regression in linking to interface libraries
Since commit 2026915f8f (Swift: Propagate Swift_MODULE_DIRECTORY as include
directory, 2020-02-03, v3.18.0-rc1~547^2) we internally call
`GetAllConfigCompileLanguages` on all directly linked targets without
checking if they are interface libraries that don't compile at all.
That violates an internal assumption and assertion.

Fixes: #20977
2020-07-17 08:26:40 -04:00
Craig Scott a335999021 Merge topic 'source_file_props_dedup_scopes' into release-3.18
f6969b917d set_property: Deduplicate source file directory scopes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5009
2020-07-14 18:59:39 -04:00
Brad King 8c6cce27ca Merge topic 'macos-11-file-GET_RUNTIME_DEPENDENCIES' into release-3.18
d9af90504f Tests: Update file(G_R_D) test to make system library optional
c51400033c file: Update GET_RUNTIME_DEPENDENCIES for macOS 11 dylib cache

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kyle Edwards <kyle.edwards@kitware.com>
Merge-request: !4998
2020-07-14 07:15:11 -04:00
Brad King 2ef6ad0136 Merge topic 'profiling-case-insensitive-command-names' into release-3.18
7cf2f7d2af cmake: Store lowercase command names in profiling output

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5007
2020-07-14 07:14:08 -04:00
Alexandru Croitor f6969b917d set_property: Deduplicate source file directory scopes
A user could specify the same directory scope to set_property()
multiple times, which in conjunction with APPEND would append the
property multiple times.

Make sure to deduplicate scopes across both DIRECTORY and
TARGET_DIRECTORY options, so that a property is only appended
once in such a scenario.

Fixes: #20941
2020-07-13 17:43:17 +02:00
Kyle Edwards d9af90504f Tests: Update file(G_R_D) test to make system library optional
Since the system library may not exist on the filesystem on macOS
11, skip it if it doesn't exist.
2020-07-13 08:32:02 -04:00
Craig Scott 7cf2f7d2af cmake: Store lowercase command names in profiling output
This ensures commands can be properly aggregated by tools
processing the profiling output.

Fixes: #20946
2020-07-13 11:03:05 +10:00
Marc Chevrier 7b0f6508a0 ALIAS targets: Non-global aliases must be propagated to sub-directories
Fixes: #20942
2020-07-11 16:59:50 +02:00
Alexandru Croitor 1235f2d747 set_property: Allow both DIRECTORY and TARGET_DIRECTORY together
Allow to specify both DIRECTORY and TARGET_DIRECTORY at the same time in
`set_source_files_properties()` and `set_property(SOURCE)` commands.

Add test cases and update the documentation.

Fixes: #20932
2020-07-09 06:33:52 -04:00
Alexandru Croitor 177052d6b8 set_property: Fix name of TARGET_DIRECTORY option in error messages 2020-07-09 06:33:03 -04:00
Kyle Edwards c57695a2f4 Help: Clarify search order for resource spec file
Clarify the order in which --resource-spec-file, RESOURCE_SPEC_FILE,
and CTEST_RESOURCE_SPEC_FILE are searched, and add tests to
enforce this.

Fixes: #20914
2020-07-07 12:21:58 -04:00
Brad King 85a945a607 Restore handling of build directory inside a symlinked path
In commit dd8365b3f1 (Merge branch 'upstream-KWSys' into update-kwsys,
2020-04-06, v3.18.0-rc1~397^2) we imported KWSys commit `019afb6ea`
(SystemTools: Drop GetCurrentWorkingDirectory 'collapse' argument,
2020-04-03).  That caused `GetCurrentWorkingDirectory` to no longer send
paths through the KWSys translation map and broke CMake's detection of
the absolute path to a build directory containing a symbolic link.
Add our own `cmSystemTools::GetCurrentWorkingDirectory` wrapper around
the KWSys method in order to restore that mapping.

Test-case-by: Ben Boeckel <ben.boeckel@kitware.com>
Issue: #16228
Fixes: #20900
2020-07-02 07:33:16 -04:00
Brad King 0ca6bb8575 Merge topic 'file-ARCHIVE-files-dirs' into release-3.18
bbcff21f71 file(ARCHIVE*): Collapse FILES and DIRECTORY options

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4955
2020-07-01 07:00:42 -04:00
Brad King 221fd89251 Merge topic 'file-CONFIGURE-subdir' into release-3.18
e5f5eeca2f file: Fix CONFIGURE output relative path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4951
2020-06-30 08:04:07 -04:00
Craig Scott bbcff21f71 file(ARCHIVE*): Collapse FILES and DIRECTORY options
The two options were concatenated internally for both ARCHIVE_CREATE
and ARCHIVE_EXTRACT. The distinction between files and dirs was not
meaningful. Therefore, replace them with PATHS or PATTERNS 
to more accurately describe the way the options are used.

Fixes: #20884
2020-06-30 22:01:35 +10:00
Brad King e9f667c3b0 Merge topic 'find_library-file-readable' into release-3.18
f2c903fb9a find_library: Check that library files are readable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4945
2020-06-30 07:25:53 -04:00
Brad King e5f5eeca2f file: Fix CONFIGURE output relative path
In commit a6fee09484 (file: Add CONFIGURE subcommand, 2020-03-06,
v3.18.0-rc1~584^2) we accidentally treated relative path outputs
with respect to the current working directory.  Treat them with
respect to the current binary directory instead.

Fixes: #20885
2020-06-29 09:20:42 -04:00
Brad King f2c903fb9a find_library: Check that library files are readable
Refactoring in commit 6b85166920 (ENH: Refactor find_library search
logic, 2008-09-22, v2.8.0~1665) dropped a call to `FileExists` on the
path under the assumption that the presence of a file in a directory
listing means it exists.  However, dropping that also dropped a check
that verifies the file is readable.  Restore the `FileExists` call to
ensure that we only find readable libraries.
2020-06-29 07:50:47 -04:00
Craig Scott 95159b7dea file(ARCHIVE_CREATE): Rename TYPE option to COMPRESSION
Fixes: #20883
2020-06-27 18:38:28 +10:00
Craig Scott 09c38e8de6 Tests: Don't ask for things not required for GoogleTest
The test cases only need C or C++, but not both. The CTest module
is also not needed because we are not running a dashboard script.
2020-06-24 21:56:26 +10:00
Brad King 86cd7d67d3 Merge topic 'test-all-find-modules' into release-3.18
6c6b227813 Tests: Drop redundant FindModulesExecuteAll test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4930
2020-06-23 07:53:44 -04:00
Brad King 6c6b227813 Tests: Drop redundant FindModulesExecuteAll test
This test has been superseded by `CMakeOnly.AllFindModules`,
which does much more checking anyway.
2020-06-23 07:48:53 -04:00
Brad King 21d0961bc2 Merge topic 'CUDAToolkit-cuda-11' into release-3.18
b284a3c764 CudaToolkit: Update for new/removed libraries in CUDA 11

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4917
2020-06-19 08:13:08 -04:00
Robert Maynard b284a3c764 CudaToolkit: Update for new/removed libraries in CUDA 11 2020-06-18 08:52:58 -04:00
Brad King 5f97e44912 Tests: Shorten case names in RunCMake.target_link_libraries-* tests
Drop the portion of the case names that repeats the name of the
containing test.
2020-06-17 08:13:57 -04:00
Marc Chevrier 0951b1fe07 Tests: Split RunCMake.target_link_libraries test
Fixes: #20836
2020-06-17 08:02:33 -04:00
Brad King 56134e3690 Merge topic 'test-file-GET_RUNTIME_DEPENDENCIES' into release-3.18
9ae3382855 Tests: Shorten case names in RunCMake.file-GET_RUNTIME_DEPENDENCIES test
248d0570c9 Tests: Factor out RunCMake.file-GET_RUNTIME_DEPENDENCIES test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4904
2020-06-17 06:43:22 -04:00
Brad King 66d323bd63 Merge topic 'test-CudaOnly.StaticRuntimePlusToolkit' into release-3.18
cb9fab49dd Tests: Fix CudaOnly.StaticRuntimePlusToolkit build rpath

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4901
2020-06-17 06:41:56 -04:00
Brad King 9ae3382855 Tests: Shorten case names in RunCMake.file-GET_RUNTIME_DEPENDENCIES test
Now that these cases are in a dedicated test we can drop the
`file-GET_RUNTIME_DEPENDENCIES-` prefix from their name.
2020-06-16 11:17:55 -04:00
Brad King 248d0570c9 Tests: Factor out RunCMake.file-GET_RUNTIME_DEPENDENCIES test
Move the `file(GET_RUNTIME_DEPENDENCIES)` cases out of `RunCMake.install`.
2020-06-16 11:17:55 -04:00
Robert Maynard cb9fab49dd Tests: Fix CudaOnly.StaticRuntimePlusToolkit build rpath 2020-06-16 08:30:42 -04:00
Brad King 6308bfb737 Tests: Factor out RunCMake.GenEx-GENEX_EVAL test
Move the `GENEX_EVAL` cases and friends out of `RunCMake.GeneratorExpression`.
2020-06-16 08:03:36 -04:00
Brad King abe1c27499 Tests: Factor out RunCMake.GenEx-TARGET_FILE test
Move the `TARGET_FILE` cases and friends out of `RunCMake.GeneratorExpression`.
2020-06-16 08:03:35 -04:00
Brad King fbead761fe Tests: Factor out RunCMake.GenEx-DEVICE_LINK test
Move the `DEVICE_LINK` cases out of `RunCMake.GeneratorExpression`.
2020-06-16 08:03:35 -04:00
Brad King 64a8587332 Tests: Factor out RunCMake.GenEx-HOST_LINK test
Move the `HOST_LINK` cases out of `RunCMake.GeneratorExpression`.
2020-06-16 08:03:35 -04:00
Brad King 6f224a065c Tests: Factor out RunCMake.GenEx-LINK_LANG_AND_ID test
Move the `LINK_LANG_AND_ID` cases out of `RunCMake.GeneratorExpression`.
2020-06-16 08:03:35 -04:00
Brad King f3f6317ca3 Tests: Factor out RunCMake.GenEx-LINK_LANGUAGE test
Move the `LINK_LANGUAGE` cases out of `RunCMake.GeneratorExpression`.
2020-06-16 08:03:35 -04:00
Brad King 983adb8bed Tests: Factor out RunCMake.GenEx-COMPILE_LANG_AND_ID test
Move the `COMPILE_LANG_AND_ID` cases out of `RunCMake.GeneratorExpression`.
2020-06-16 08:03:35 -04:00
Brad King 931a6702f6 Tests: Factor out RunCMake.GenEx-COMPILE_LANGUAGE test
Move the `COMPILE_LANGUAGE` cases out of `RunCMake.GeneratorExpression`.
2020-06-16 08:03:34 -04:00
Brad King a3881d6313 Merge topic 'cuda_architectures_disable' into release-3.18
877a92e968 CUDA: Add support for disabling CUDA_ARCHITECTURES

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4886
2020-06-15 09:24:37 -04:00
Raul Tambre 877a92e968 CUDA: Add support for disabling CUDA_ARCHITECTURES
The ability to disable adding architectures completely for packaging purposes
and cases requiring passing the architectures flags explicitly has been
requested.
Support a false value for CUDA_ARCHITECTURES and CMAKE_CUDA_ARCHITECTURES
for this purpose.

Implements #20821.
2020-06-15 09:13:32 -04:00
Brad King 05546d695e Merge topic 'revert-find_program-exe-no-read' into release-3.18
cc02ced530 find_program: Revert "Find programs that are executable but not readable"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4871
2020-06-15 08:58:06 -04:00
Brad King 3145264449 Merge topic 'gitlab-ci-ext-test-sets' into release-3.18
2e7cefec03 gitlab-ci: add a cuda10.2 builder
1a2961b895 Tests: add CUDA labels to tests which are affected by CUDA
2caa7502d5 ci: support running just a set of tests with external builders
26b4cbcf93 gitlab-ci: move Makefiles Linux tests to use the package

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4877
2020-06-12 11:02:35 -04:00
Brad King cc02ced530 find_program: Revert "Find programs that are executable but not readable"
The fix in commit 86e6349ef7 (find_program: Find programs that are
executable but not readable, 2020-04-04, v3.18.0-rc1~372^2) can break
existing projects that were (likely accidentally) relying on the
old behavior to find files that are readable but not executable.
Revert the fix for now.  We can re-introduce it with a policy later.

Instead of reverting the test case, update it to cover the old behavior.
That can serve as a reference for testing the policy when introduced.

Fixes: #20814
Issue: #10468
2020-06-12 05:04:56 -04:00
Brad King 5c04e77e07 VS: Restore compilation of '.C' sources as C++
Refactoring in commit 3b547e2e4b (VS: Simplify logic adding source file
C/C++ language flag to MSVC, 2020-05-15, v3.18.0-rc1~139^2~1) failed to
account for MSVC's treatment of `.C` extensions as C.  Add this special
case to the logic to restore use of `-TP` for `.C` extensions.

Fixes: #20822
2020-06-11 14:15:18 -04:00
Ben Boeckel 1a2961b895 Tests: add CUDA labels to tests which are affected by CUDA 2020-06-11 13:04:33 -04:00
Kinan Mahdi 3fd07d30bf VS: Enable DOTNET_TARGET_FRAMEWORK properties all target types
This makes them compatible with `VS_PACKAGE_REFERENCES` and, in
particular, fixes nuget package references in combination with install
targets.

Fixes: #20764
2020-06-05 08:01:59 -04:00
Brad King efac04465c Merge topic 'cuda_clang_separable_error'
b1243201e7 CUDA: Don't RunCMake generate separable compilation tests on Clang
1b4c690543 CUDA: Throw error if CUDA_SEPARABLE_COMPILATION is ON when using Clang

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4827
2020-06-05 07:56:19 -04:00
Raul Tambre b1243201e7 CUDA: Don't RunCMake generate separable compilation tests on Clang
Building these targets was already previously disabled in RunCMakeTest.cmake.
Now with us throwing an error for separable compilation during generation on
Clang we also need to stop them from being generated.
2020-06-03 08:10:57 +03:00
Marc Chevrier 056489d567 add_library/add_executable: allow local alias to imported targets
Fixes: #20641
2020-06-02 17:11:47 +02:00