summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
Commit message (Collapse)AuthorAgeFilesLines
* GENERATED prop: Add implementation for policy CMP0118 being set to NEWDeniz Bahadir2020-11-2483-806/+2202
| | | | | | | | | | | | | | | | | | * Adding implementation for policy CMP0118 being set to `NEW`. * Adding new tests for policy CMP0118 being set to `NEW`. * Checking the `GENERATED` property with `get_source_file_property` or `get_property` now always returns exactly `1` or `0`. No other values will be returned. Note, that this is a backwards-incompatible change, even when policy CMP0118 is unset or set to `OLD`. * Additionally, as `get_source_file_property` and `get_property` now always check if a source-file was marked globally visible, even when CMP0118 is unset or set to `OLD`, they possibly return `1` where they might have returned `0` before the changes introduced by this commit. Note, that this is a backwards-incompatible change, even when policy CMP0118 is unset or set to `OLD`. * As a consequence, the tests for policy CMP0118 being unset or set to `OLD` got slightly adjusted, too, to reflect these changes in behavior.
* GENERATED prop: Check CMP0118 policy and warn in certain situationsDeniz Bahadir2020-11-2472-19/+1692
| | | | | | | | | | | | | | * Adding tests for CMP0118 being unset (aka set to `WARN`). * Adjusting the (unrelated) RunCMake.CMP0026 test to set CMP0118 to `NEW`, * Adjusting the (unrelated) RunCMake.Ninja test to set CMP0118 to `OLD`. * Adjusting the (unrelated) RunCMake.FileAPI test to set CMP0118 to `OLD`. Note: Setting CMP0118 to `NEW` and modifying the `GENERATED` property with `set_property` or `set_source_files_properties` will currently NOT set that property because the implementation is still to come.
* GENERATED prop: Add some tests before introducing changes with CMP0118Deniz Bahadir2020-11-2482-0/+2492
| | | | | | | These are tests which shall assure that the upcoming changes regarding the `GENERATED` source-file property and the associated new policy CMP0118 do not change (or only slightly change) the current, observable behavior when policy CMP0118 is set to `OLD`.
* Merge topic 'cmake-build-specify-makefile-name'Brad King2020-11-172-0/+13
|\ | | | | | | | | | | | | | | cfce067b3f Tests: Add RunCMake.Make case for conflicting Makefile names 378c047ae3 Makefiles: Explicitly tell 'make' tool what Makefile name to use Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5509
| * Tests: Add RunCMake.Make case for conflicting Makefile namesBrad King2020-11-162-0/+13
| | | | | | | | Issue: #21418
* | CPack/DEB: Do not crash when asked for debug symbols when there are noneAndrew Fuller2020-11-162-1/+9
|/ | | | Fixes: #21356
* Merge topic 'msvc-no-GR'Brad King2020-11-167-0/+27
|\ | | | | | | | | | | | | | | c00a6d3967 MSVC: Do not add /GR to CMAKE_CXX_FLAGS by default 6114c8e994 MSVC: Factor out initialization of /GR flag Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5508
| * MSVC: Do not add /GR to CMAKE_CXX_FLAGS by defaultBrad King2020-11-137-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | The `/GR` flag has been on by default since MSVC cl 14.0 from VS 2005. Remove it from the default flags to make it easier for projects to pass `/GR-` themselves to turn it off. Projects may be using string processing to replace `/GR` with another flag, so we cannot simply drop it. Add a policy to drop it in a compatible way. Fixes: #21428
* | cmake_path: various enhancements to subcommands/keywordsMarc Chevrier2020-11-1115-80/+28
|/ | | | This change address partly the remarks done in issue #21385
* Merge topic 'android-root'Brad King2020-11-102-0/+24
|\ | | | | | | | | | | | | | | cbc51a8be3 Android: restructure android search paths Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: huangqinjin <huangqinjin@gmail.com> Merge-request: !5479
| * Android: restructure android search pathsHaibo Huang2020-11-092-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Set CMAKE_FIND_ROOT_PATH unconditionally. Revise the implementation from commit a7f41a7ee4 (Android: Fix find_* search order within NDK for unified toolchains, 2020-10-13). In the old implementation, if people set CMAKE_FIND_ROOT_PATH, CMAKE_ANDROID_NDK won't be added to find root. And all paths added to CMAKE_SYSTEM_*_PATH below will be rerooted to the user specified root. 2. Add api level specific library path to CMAKE_SYSTEM_PREFIX_PATH. As the discussion in [1], some people want the paths added by UnixPaths.cmake. They install their libraries according to GNUInstallDirs [2]. As a result, we cannot clear CMAKE_SYSTEM_PREFIX_PATH. It includes /usr so no matter what we specify in CMAKE_SYSTEM_LIBRARY_PATH, /usr/lib/<arch> will be searched first. The author also pointed out a way to solve this issue [3]. In addition to other paths, CMake also searches <root>/<prefix> [4]. So we can add the API specific lib path to the beginning of CMAKE_SYSTEM_PREFIX_PATH, to have it searched first. [1] https://android-review.googlesource.com/c/platform/ndk/+/1486800 [2] https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html [3] https://github.com/android/ndk/issues/1179#issuecomment-613435081 [4] https://gitlab.kitware.com/cmake/cmake/-/blob/11425041f04fd0945480b8f9e9933d1549b93981/Source/cmSearchPath.cxx#L202
* | TestBigEndian: Re-implement using byte order detected from ABI checkBrad King2020-11-0611-0/+63
| | | | | | | | Document the module as deprecated in favor of the ABI check results.
* | Tests: Prepare RunCMake.ABI cases to run more checksBrad King2020-11-065-5/+20
|/
* Merge topic 'clang-tidy-for-objc'Brad King2020-11-0611-0/+32
|\ | | | | | | | | | | | | 1134064e22 clang-tidy: allow OBJC and OBJCXX Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5467
| * clang-tidy: allow OBJC and OBJCXXAndrew Fuller2020-11-0511-0/+32
| |
* | Merge topic 'GNUInstallDirs-dir'Brad King2020-11-053-0/+24
|\ \ | | | | | | | | | | | | | | | | | | | | | a61007b3b0 Tests: Add RunCMake.GNUInstallDirs case for get_absolute_install_dir 229b5ee994 GNUInstallDirs: Add dir argument to GNUInstallDirs_get_absolute_install_dir Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5450
| * | Tests: Add RunCMake.GNUInstallDirs case for get_absolute_install_dirBrad King2020-11-043-0/+24
| | |
* | | CMakeDetermineCompilerABI: Detect byte order as part of checkBrad King2020-11-048-0/+40
| |/ |/| | | | | | | | | | | We already detect `sizeof(void*)`. Detect the byte order as part of the same check. Issue: #21392
* | Merge topic 'nmc-test-fix'Brad King2020-11-032-1/+1
|\ \ | | | | | | | | | | | | | | | | | | e0a7c0d40d Tests: Fix one RunCMake.NinjaMultiConfig case name Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5447
| * | Tests: Fix one RunCMake.NinjaMultiConfig case nameBrad King2020-11-022-1/+1
| | | | | | | | | | | | | | | | | | | | | The CustomCommandGenerator `debug-in-release-graph-clean` case actually cleans using the Debug graph. This is intentional in order to test cleaning only the Debug parts, so fix the test name rather than changing what graph it uses.
* | | Merge topic 'cmake-presets-no-path-arg-warning'Brad King2020-11-033-0/+15
|\ \ \ | |/ / |/| | | | | | | | | | | | | | cb2d01c182 CMakePresets.json: Don't warn if no path argument is given Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5455
| * | CMakePresets.json: Don't warn if no path argument is givenKyle Edwards2020-11-023-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | If --preset is specified with no path argument, use the current directory as the source directory, the preset's binaryDir as the binary directory, and don't issue the standard warning for no path specified. Fixes: #21386
| * | Merge topic 'CheckSourceRuns-compatibility' into release-3.19Brad King2020-10-302-2/+17
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | a524bf3aa7 CheckSourceRuns: do not fail on unrecognized arguments Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5426
| * \ \ Merge topic 'cuda_vs_skip_computation' into release-3.19Brad King2020-10-272-0/+7
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dd77dec18d VS: Don't compute CUDA options unless necessary e9109dec36 Merge branch 'ninja-multi-per-config-sources' into release-3.18 7c0de4175b Merge branch 'cmake-E-cat-binary' into release-3.18 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5422
| * \ \ \ Merge topic 'cmake-presets-path-arg' into release-3.19Craig Scott2020-10-276-7/+31
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b7d7eca66d CMakePresets.json: Rework how --preset argument is handled Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5416
* | \ \ \ \ Merge topic 'CheckSourceRuns-compatibility'Brad King2020-10-302-2/+17
|\ \ \ \ \ \ | | |_|_|/ / | |/| | | / | |_|_|_|/ |/| | | | | | | | | | | | | | a524bf3aa7 CheckSourceRuns: do not fail on unrecognized arguments Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5426
| * | | | CheckSourceRuns: do not fail on unrecognized argumentsBen Boeckel2020-10-282-2/+17
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | The old `check_X_source_runs` modules did not verify the arguments, so we cannot start doing it now. Downgrade the hard error introduced in commit 357e2ef429 (CheckSoureRuns: Add a unified way to check if a source runs, 2020-09-14) via !5223 into a noisy warning.
| * | | Merge topic 'check-module-name-conflicts' into release-3.19Brad King2020-10-272-2/+6
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d192918586 Modules: Do not implicitly add new functions via old Check Modules Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5424
* | \ \ \ Merge topic 'llvm-rc-CMAKE_RC_FLAGS'Brad King2020-10-293-2/+33
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ea03f50842 llvm_rc: add llvm_rc option filter to correctly pick up all options Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5412
| * | | | | llvm_rc: add llvm_rc option filter to correctly pick up all optionsThomas Bernard2020-10-283-2/+33
| | | | | | | | | | | | | | | | | | | | | | | | Fixes: #21315
* | | | | | Merge topic 'xcode_build_jobs'Brad King2020-10-281-2/+2
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e794509faa XCode: Use -j build option when job capacity is specified by user Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5429
| * | | | | | XCode: Use -j build option when job capacity is specified by userFred Baksik2020-10-261-2/+2
| |/ / / / / | | | | | | | | | | | | | | | | | | Fixes: #18304
* | | | | | Merge topic 'cuda_vs_skip_computation'Brad King2020-10-272-0/+7
|\ \ \ \ \ \ | | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | dd77dec18d VS: Don't compute CUDA options unless necessary Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5422
| * | | | | VS: Don't compute CUDA options unless necessaryRaul Tambre2020-10-272-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the following scenario (with 3.18 policies): 1. A CXX target is created. 2. CUDA language is enabled. CMake 3.18 introduced CMP0104, which requires CUDA_ARCHITECTURES to be set. Because the CXX target was created before CUDA was enabled it wouldn't have it set. The Visual Studio generator would however end up computing CUDA compile options for the CXX target, which would result in a fatal error due to the policy violation. There doesn't seem to be a reason to do this for targets that don't actually use the CUDA language, so we can skip and generate the CXX target just fine. Fixes: #21341
| * | | | | Merge branch 'ninja-multi-per-config-sources' into release-3.18Brad King2020-10-262-0/+12
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Merge-request: !5430
* | \ \ \ \ \ Merge topic 'cmake-presets-path-arg'Craig Scott2020-10-276-7/+31
|\ \ \ \ \ \ \ | | |_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b7d7eca66d CMakePresets.json: Rework how --preset argument is handled Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5416
| * | | | | | CMakePresets.json: Rework how --preset argument is handledKyle Edwards2020-10-266-7/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a path argument with no -S or -B leads to a cache directory, use that directory as the binary directory. Otherwise, use the binary directory from the preset. Fixes: #21311
* | | | | | | Merge topic 'cmake-20866'Brad King2020-10-2721-0/+135
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 03ad0e61c1 configure_file: Add option for user defined permissions Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5320
| * | | | | | | configure_file: Add option for user defined permissionsAsit Dhal2020-10-2421-0/+135
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | User defined permissions and options to copy permissions are implemented. Fixes: #20866
* | | | | | | | Merge topic 'issue-21034'Brad King2020-10-2713-0/+47
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1a3d125de8 target_sources: Support custom targets Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5421
| * | | | | | | | target_sources: Support custom targetsAsit Dhal2020-10-2413-0/+47
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #21034
* | | | | | | | Merge topic 'issue-19696'Brad King2020-10-277-0/+34
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c75d68a2af genex: improve unit testing for $<TARGET_NAME_IF_EXISTS:...> Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5420
| * | | | | | | | genex: improve unit testing for $<TARGET_NAME_IF_EXISTS:...>Asit Dhal2020-10-247-0/+34
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #19696
* | | | | | | | Merge topic 'check-module-name-conflicts'Brad King2020-10-272-2/+6
|\ \ \ \ \ \ \ \ | | |_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d192918586 Modules: Do not implicitly add new functions via old Check Modules Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5424
| * | | | | | | Modules: Do not implicitly add new functions via old Check ModulesRobert Maynard2020-10-262-2/+6
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The conversion of Check<Lang>CompilerFlag, SourceCompiles, and SourceRuns over to the new functions has the possibility of breaking projects that had functions with those existing names. To reduce the possibility of collisions we now have all the legacy code call functions that start with `cmake_`, and users will need to explicitly include the new modules to get the non-prefixed versions Fixes: #21359
* | | | | | | Merge topic 'ninja-multi-per-config-sources'Brad King2020-10-272-0/+12
|\ \ \ \ \ \ \ | |_|_|_|_|/ / |/| | | | | / | | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | b8937a992b Merge branch 'release' into ninja-multi-per-config-sources d13bd6ec3d Ninja Multi-Config: Don't try to calculate dependencies for "all" Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Brad King <brad.king@kitware.com> Merge-request: !5430
| * | | | | Merge branch 'release' into ninja-multi-per-config-sourcesKyle Edwards2020-10-261471-620/+11145
| |\ \ \ \ \ | | |/ / / / | | | | | / | | |_|_|/ | |/| | |
| | * | | Merge topic 'cmake-presets-toolset-arch-config' into release-3.19Craig Scott2020-10-2321-23/+71
| | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 64afabdbcb CMakePresets.json: Split cmakeGeneratorConfig field Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5387
| * | | | | Ninja Multi-Config: Don't try to calculate dependencies for "all"Kyle Edwards2020-10-262-0/+12
| | | | | |
* | | | | | Merge topic 'ExternalData-suppress-progress'Brad King2020-10-263-0/+13
|\ \ \ \ \ \ | |_|_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | ae7c81c622 ExternalData: add support for suppressing progress during the build Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5413