summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'macos-11-file-GET_RUNTIME_DEPENDENCIES' into release-3.18Brad King2020-07-141-12/+14
|\ | | | | | | | | | | | | | | | | 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
| * Tests: Update file(G_R_D) test to make system library optionalKyle Edwards2020-07-131-12/+14
| | | | | | | | | | Since the system library may not exist on the filesystem on macOS 11, skip it if it doesn't exist.
* | Merge topic 'profiling-case-insensitive-command-names' into release-3.18Brad King2020-07-142-1/+18
|\ \ | | | | | | | | | | | | | | | | | | 7cf2f7d2af cmake: Store lowercase command names in profiling output Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5007
| * | cmake: Store lowercase command names in profiling outputCraig Scott2020-07-132-1/+18
| |/ | | | | | | | | | | | | This ensures commands can be properly aggregated by tools processing the profiling output. Fixes: #20946
* | ALIAS targets: Non-global aliases must be propagated to sub-directoriesMarc Chevrier2020-07-114-6/+25
|/ | | | Fixes: #20942
* set_property: Fix name of TARGET_DIRECTORY option in error messagesAlexandru Croitor2020-07-092-4/+4
|
* Help: Clarify search order for resource spec fileKyle Edwards2020-07-076-1/+26
| | | | | | | | 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
* Restore handling of build directory inside a symlinked pathBrad King2020-07-026-0/+52
| | | | | | | | | | | | | | | 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
* 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