summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'file-ARCHIVE-files-dirs' into release-3.18Brad King2020-07-012-14/+14
|\ | | | | | | | | | | | | bbcff21f71 file(ARCHIVE*): Collapse FILES and DIRECTORY options Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4955
| * file(ARCHIVE*): Collapse FILES and DIRECTORY optionsCraig Scott2020-06-302-14/+14
| | | | | | | | | | | | | | | | 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
* | Merge topic 'file-CONFIGURE-subdir' into release-3.18Brad King2020-06-304-0/+7
|\ \ | | | | | | | | | | | | | | | | | | e5f5eeca2f file: Fix CONFIGURE output relative path Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4951
| * | file: Fix CONFIGURE output relative pathBrad King2020-06-294-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge topic 'find_library-file-readable' into release-3.18Brad King2020-06-304-2/+22
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | f2c903fb9a find_library: Check that library files are readable Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4945
| * | find_library: Check that library files are readableBrad King2020-06-294-2/+22
| |/ | | | | | | | | | | | | | | | | 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.
* | file(ARCHIVE_CREATE): Rename TYPE option to COMPRESSIONCraig Scott2020-06-2719-18/+31
| | | | | | Fixes: #20883
* | Tests: Don't ask for things not required for GoogleTestCraig Scott2020-06-244-8/+4
| | | | | | | | 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.
* | Tests: Shorten case names in RunCMake.target_link_libraries-* testsBrad King2020-06-1718-31/+31
| | | | | | | | | | Drop the portion of the case names that repeats the name of the containing test.
* | Tests: Split RunCMake.target_link_libraries testMarc Chevrier2020-06-1740-68/+201
|/ | | | Fixes: #20836
* Tests: Shorten case names in RunCMake.file-GET_RUNTIME_DEPENDENCIES testBrad King2020-06-1664-255/+255
| | | | | Now that these cases are in a dedicated test we can drop the `file-GET_RUNTIME_DEPENDENCIES-` prefix from their name.
* Tests: Factor out RunCMake.file-GET_RUNTIME_DEPENDENCIES testBrad King2020-06-1669-296/+316
| | | | Move the `file(GET_RUNTIME_DEPENDENCIES)` cases out of `RunCMake.install`.
* Tests: Factor out RunCMake.GenEx-GENEX_EVAL testBrad King2020-06-1630-9/+15
| | | | Move the `GENEX_EVAL` cases and friends out of `RunCMake.GeneratorExpression`.
* Tests: Factor out RunCMake.GenEx-TARGET_FILE testBrad King2020-06-1675-31/+38
| | | | Move the `TARGET_FILE` cases and friends out of `RunCMake.GeneratorExpression`.
* Tests: Factor out RunCMake.GenEx-DEVICE_LINK testBrad King2020-06-1644-15/+21
| | | | Move the `DEVICE_LINK` cases out of `RunCMake.GeneratorExpression`.
* Tests: Factor out RunCMake.GenEx-HOST_LINK testBrad King2020-06-1644-15/+21
| | | | Move the `HOST_LINK` cases out of `RunCMake.GeneratorExpression`.
* Tests: Factor out RunCMake.GenEx-LINK_LANG_AND_ID testBrad King2020-06-1639-12/+18
| | | | Move the `LINK_LANG_AND_ID` cases out of `RunCMake.GeneratorExpression`.
* Tests: Factor out RunCMake.GenEx-LINK_LANGUAGE testBrad King2020-06-1642-13/+19
| | | | Move the `LINK_LANGUAGE` cases out of `RunCMake.GeneratorExpression`.
* Tests: Factor out RunCMake.GenEx-COMPILE_LANG_AND_ID testBrad King2020-06-1627-8/+14
| | | | Move the `COMPILE_LANG_AND_ID` cases out of `RunCMake.GeneratorExpression`.
* Tests: Factor out RunCMake.GenEx-COMPILE_LANGUAGE testBrad King2020-06-1627-8/+14
| | | | Move the `COMPILE_LANGUAGE` cases out of `RunCMake.GeneratorExpression`.
* Merge topic 'cuda_architectures_disable' into release-3.18Brad King2020-06-152-0/+4
|\ | | | | | | | | | | | | 877a92e968 CUDA: Add support for disabling CUDA_ARCHITECTURES Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4886
| * CUDA: Add support for disabling CUDA_ARCHITECTURESRaul Tambre2020-06-152-0/+4
| | | | | | | | | | | | | | | | | | | | 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.
* | Merge topic 'revert-find_program-exe-no-read' into release-3.18Brad King2020-06-152-4/+10
|\ \ | |/ |/| | | | | | | | | cc02ced530 find_program: Revert "Find programs that are executable but not readable" Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4871
| * find_program: Revert "Find programs that are executable but not readable"Brad King2020-06-122-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Tests: add CUDA labels to tests which are affected by CUDABen Boeckel2020-06-111-0/+10
|/
* VS: Enable DOTNET_TARGET_FRAMEWORK properties all target typesKinan Mahdi2020-06-052-0/+31
| | | | | | | | This makes them compatible with `VS_PACKAGE_REFERENCES` and, in particular, fixes nuget package references in combination with install targets. Fixes: #20764
* Merge topic 'cuda_clang_separable_error'Brad King2020-06-051-15/+18
|\ | | | | | | | | | | | | | | 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
| * CUDA: Don't RunCMake generate separable compilation tests on ClangRaul Tambre2020-06-031-15/+18
| | | | | | | | | | | | 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.
* | add_library/add_executable: allow local alias to imported targetsMarc Chevrier2020-06-0213-25/+189
|/ | | | Fixes: #20641
* Merge topic 'target_link_libraries-self-link-is-an-error'Brad King2020-06-027-0/+26
|\ | | | | | | | | | | | | 9436ad35df target_link_libraries: self-link through ALIAS is an error Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4826
| * target_link_libraries: self-link through ALIAS is an errorMarc Chevrier2020-05-307-0/+26
| | | | | | | | Fixes: #19617
* | Merge topic 'asm-preprocessor-flag'Brad King2020-06-021-0/+1
|\ \ | | | | | | | | | | | | | | | | | | 97fa63c09b ASM: Fix preprocessor definition flags for GNU 'as' tool Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4838
| * | ASM: Fix preprocessor definition flags for GNU 'as' toolKyle Edwards2020-06-011-0/+1
| | | | | | | | | | | | Fixes: #20780
* | | Tests: Skip RunCMake.try_compile RerunCMake-nowork case on 1s filesystemsBrad King2020-06-012-2/+7
|/ / | | | | | | | | | | | | | | | | | | On low-resolution filesystems, `Makefile` can end up with the same time stamp as `CMakeCache.txt`. CMake must re-run in this case to be conservative, but that invalidates the `-nowork` cases. Rather than trying to detect 1s filesystems, just add an option called `CMake_TEST_FILESYSTEM_1S` that external scripts can use to tell CMake's test suite about this.
* | Merge topic 'pch-fix-bad-ClearSourcesCache'Brad King2020-06-011-2/+5
|\ \ | | | | | | | | | | | | | | | | | | | | | 902858367f Merge branch 'backport-3.16-pch-fix-bad-ClearSourcesCache' fa7b041eca PCH: Fix logic error that incorrectly clears sources during VS generation Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4815
| * \ Merge branch 'backport-3.16-pch-fix-bad-ClearSourcesCache'Brad King2020-05-291-2/+5
| |\ \
| | * | PCH: Fix logic error that incorrectly clears sources during VS generationBrad King2020-05-291-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 729d997f10 (Precompile Headers: Add REUSE_FROM signature, 2019-08-30, v3.16.0-rc1~101^2), `GetPchFileObject` handles the case that it is called first for another target's `REUSE_FROM` by calling `AddSource` to make sure `GetObjectName` can produce the correct object name. However, `AddSource` causes `ClearSourcesCache` to be called, which since commit a9f4f58f0c (cmGeneratorTarget: Clear AllConfigSources in ClearSourcesCache, 2020-05-15, v3.16.7~2^2) now correctly erases the `AllConfigSources` structure. This is okay during `AddPchDependencies`, but there is another code path in which it is problematic. When the Visual Studio generator's `WriteAllSources` method is looping over the sources, the `cmake_pch.cxx` source is encountered first. This causes `OutputSourceSpecificFlags` to call `GetPchCreateCompileOptions`, which calls `GetPchFile`, which under MSVC with `CMAKE_LINK_PCH` calls `GetPchFileObject`. That leads to `ClearSourcesCache` erasing the structure over which `WriteAllSources` is iterating! This bug is caught by our `RunCMake.PrecompileHeaders` test when run with the VS generator as of the commit that exposed it by fixing `ClearSourcesCache`. However, that change was backported to the CMake 3.16 series after testing only with later versions versions that contain commit a55df20499 (Multi-Ninja: Add precompile headers support, 2020-01-10, v3.17.0-rc1~136^2). By adding proper multi-config support for PCH, that commit taught `cmLocalGenerator::AddPchDependencies` to call `GetPchFile` with the real set of configurations instead of just the empty string. This allows the `GetPchFile` cache of PCH sources to be populated up front so that the later calls to it in the `WriteAllSources` loop as described above do not actually call `GetPchFileObject` or `ClearSourcesCache`. That hid the problem. Fix this by re-ordering calls to `AddPchDependencies` to handle `REUSE_FROM` targets only after the targets whose PCH they re-use. Remove the now-unnecessary call to `AddSource` from `GetPchFileObject` so that `ClearSourcesCache` is never called during `WriteAllSources`. Update the PchReuseFrom test case to cover an ordering of targets that causes generators to encounter a `REUSE_FROM` target before the target whose PCH it re-uses. Fixes: #20770
* | | | Merge topic 'ninja-multi-export-all-symbols'Brad King2020-06-011-0/+2
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | 6fc4bfa11c Ninja Multi-Config: Fix bug in CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Alex Reinking <alex_reinking@berkeley.edu> Merge-request: !4825
| * | | Ninja Multi-Config: Fix bug in CMAKE_WINDOWS_EXPORT_ALL_SYMBOLSKyle Edwards2020-05-291-0/+2
| |/ / | | | | | | | | | Fixes: #20775
* | | ALIAS target: cannot overwrite an existing targetMarc Chevrier2020-05-286-0/+61
| | | | | | | | | | | | Fixes: #19616
* | | Merge topic 'fix-cpack-deb-generating-empty-paragraph'Brad King2020-05-281-11/+1
|\ \ \ | |/ / | | | | | | | | | | | | | | | 6ba842163c CPack-deb: don't add a line with a dot to pkg desc Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4806
| * | CPack-deb: don't add a line with a dot to pkg descJonathan Verner2020-05-271-11/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, if the package description ends with a newline (typically if it is read from a file) cpack -deb adds a single line with a dot at the end which leads to a violation of the `extended-description-contains-empty-paragraph` debian policy. This commit fixes the above behaviour. Fixes: #20763
| * | Merge topic 'ctest-repeat-notrun' into release-3.17Brad King2020-05-275-6/+49
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | bbb62dcc72 CTest: Make sure NOT_RUN tests show up in the failed test log c503251997 Tests: Add coverage of ctest_test RETURN_VALUE and REPEAT Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4801
* | \ \ Merge topic 'update-gitlab-links'Brad King2020-05-272-2/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | eb705b9531 Update links to gitlab.kitware.com repos to add `-/` Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Ben Boeckel <ben.boeckel@kitware.com> Merge-request: !4795
| * | | | Update links to gitlab.kitware.com repos to add `-/`Brad King2020-05-262-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GitLab now uses a `/-/` component between the `group/project` part of the URL and the `{issues,merge_requests,tree}` part so that it can support `group/subgroup/project` with arbitrary depth.
* | | | | Merge topic 'test-RunCMake.install-LDFLAGS'Brad King2020-05-271-2/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1c97a3c442 Tests: Fix RunCMake.install LDFLAGS treatment Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Robert Maynard <robert.maynard@kitware.com> Merge-request: !4793
| * | | | | Tests: Fix RunCMake.install LDFLAGS treatmentBrad King2020-05-261-2/+1
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | In commit d806bd2e8c (Tests: Update test suite to run in an Anaconda environment, 2020-03-30) an extra `}` was left in the value of the modified `LDFLAGS`. Remove it. While at it, simplify the code.
* | | | | Merge topic 'cmake_language-check-invalid-commands'Brad King2020-05-277-0/+140
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 12e483c563 cmake_language: check CALL with control command Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4788
| * | | | | cmake_language: check CALL with control commandMarc Chevrier2020-05-267-0/+140
| | | | | | | | | | | | | | | | | | | | | | | | Fixes: #20739
* | | | | | Merge branch 'backport-ctest-repeat-notrun' into ctest-repeat-notrunBrad King2020-05-275-6/+49
|\ \ \ \ \ \ | | |_|_|/ / | |/| | | |