summaryrefslogtreecommitdiffstats
path: root/Tests
Commit message (Collapse)AuthorAgeFilesLines
* iOS: Add IOS variableRuslan Baratov2019-03-051-0/+4
| | | | | | | Since commit 11da882a12 (Apple: Introduce separate system name for iOS, tvOS, and watchOS, 2018-01-15, v3.14.0-rc1~14^2~1) we support setting `CMAKE_SYSTEM_NAME` to `iOS`. Existing iOS toolchain files already set `IOS` as a short-hand variable, so do the same here.
* Merge branch 'cmake_role-vs-fix' into release-3.14Brad King2019-02-272-0/+7
|\ | | | | | | Merge-request: !3028
| * CMAKE_ROLE: Fix value in --build for Visual Studio generatorsKyle Edwards2019-02-262-0/+7
| | | | | | | | Fixes: #18990
* | Merge branch 'FindOctave-remove' into release-3.14Brad King2019-02-276-83/+0
|\ \ | | | | | | | | | Merge-request: !3027
| * | FindOctave: Remove module pending further workBrad King2019-02-266-83/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `FindOctave` module added by commit 170bcb6fdc (FindOctave: Add module to find GNU octave, 2018-11-17, v3.14.0-rc1~283^2) has a few problems in its implementation that need to be worked out before the module can be included in a CMake release. These were missed during review. Remove the module for now. It can be restored later with a fresh review. Issue: #18991
* | | Merge branch 'restore-min-cmake-3.1' into release-3.14Brad King2019-02-271-3/+3
|\ \ \ | |_|/ |/| | | | | Merge-request: !3021
| * | Tests: Restore support for CMake 3.1 through 3.6 with MSVCBrad King2019-02-261-3/+3
| |/ | | | | | | | | | | | | | | | | | | The change in commit a5dd159990 (Tests: Fix RunCMake.try_compile CxxStandard case on MSVC, 2017-09-22, v3.10.0-rc1~63^2) introduced use of `if()` conditions not supported until CMake 3.7, so while it was intended to restore support for CMake versions prior to 3.9, it actually only did so for 3.7 and 3.8. Backport the logic to work with CMake 3.1. Fixes: #18987
* | EXCLUDE_FROM_ALL: Don't warn if installing target excluded from allCraig Scott2019-02-211-1/+0
|/ | | | | | | | | The original warning pre-dates support for install components. There are now legitimate scenarios where an install(TARGETS) command may list a target that is excluded from all, e.g. hierarchical projects that will never install the component such a target belongs to. Fixes: #18938
* Merge branch 'try_compile-expand-compile-defs' into release-3.14Brad King2019-02-152-0/+39
|\ | | | | | | Merge-request: !2965
| * try_compile: Restore expansion of ;-list in COMPILE_DEFINITIONSBrad King2019-02-152-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The quoting added by commit 8c5221fb1f (try_compile: Preserve special characters in COMPILE_DEFINITIONS, 2019-01-21, v3.14.0-rc1~108^2~3) broke the case that the `COMPILE_DEFINITIONS` value contains a `;`. Without the quoting the `;` would be generated literally in an unquoted argument in the test `CMakeLists.txt` file and would then be expanded. With quoting the `;` is preserved, which is not the old behavior. Fix this by expanding the `;`-list ahead of time. Add test cases for behavior with both `#` and `;`. This was noticed with the PGI compiler where we set `CMAKE_CXX*_STANDARD_COMPILE_OPTION` to values like `--c++17;-A`. The symptom had also been observed while preparing commit ef8f237686 (ParseImplicitIncludeInfo: add SunPro Fortran and PGI compiler, Cray fix, 2019-01-29, v3.14.0-rc1~26^2~2) but was not recognized at the time as a regression. Revert the workaround added by that commit. Fixes: #18919
* | Merge branch 'genex-GENEX_EVAL-fix-recursion' into release-3.14Brad King2019-02-132-4/+5
|\ \ | | | | | | | | | Merge-request: !2954
| * | genex: Fix erroneous handling of recursion for $<GENEX_EVAL:>Marc Chevrier2019-02-132-4/+5
| |/ | | | | | | Fixes: #18894
* | Merge branch 'FindOctave-interp-target' into release-3.14Brad King2019-02-112-0/+30
|\ \ | | | | | | | | | Merge-request: !2931
| * | FindOctave: Add target for octinterpPeter Stroia-Williams2019-02-082-0/+30
| | | | | | | | | | | | | | | | | | This change adds the Octave::Octinterp target to make the octinterp library available without users having to resort to using the Octave_INTERP_LIBRARY variable.
* | | Merge branch 'ghs-updates' into release-3.14Brad King2019-02-081-1/+1
|\ \ \ | | | | | | | | | | | | Merge-request: !2943
| * | | GHS: Document usage of GHS_NO_SOURCE_GROUP_FILEFred Baksik2019-02-081-1/+1
| |/ / | | | | | | | | | -- Also change variable name to CMAKE_GHS_NO_SOURCE_GROUP_FILE
* | | Merge branch 'fix-exclude-dir-with-iface' into release-3.14Brad King2019-02-082-0/+2
|\ \ \ | |/ / |/| | | | | Merge-request: !2937
| * | Fix EXCLUDE_FROM_ALL on directory with an interface libraryBrad King2019-02-082-0/+2
| |/ | | | | | | | | | | | | | | | | | | | | | | | | Since commit dc6888573d (Pass EXCLUDE_FROM_ALL from directory to targets, 2019-01-15, v3.14.0-rc1~83^2) we automatically forward the `EXCLUDE_FROM_ALL` to targets as they are created. This regressed support for interface libraries on which the property is not allowed. Skip forwarding the `EXCLUDE_FROM_ALL` property for interface libraries. It is not needed on them because they do not participate in the generated build system anyway. Fixes: #18896
* | VS: Fix nowarn compiler option to accept warning numbers.Wil Stark2019-02-073-0/+79
|/ | | | | | Warning disables are transferred to the VS IDE `<NoWarn>` node. Fixes: #18878
* Merge topic 'relax_CUDA_RESOLVE_DEVICE_SYMBOLS_constraints'Brad King2019-02-065-0/+151
|\ | | | | | | | | | | | | | | 850ef90a66 CUDA: Honor CUDA_RESOLVE_DEVICE_SYMBOLS for more target types Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Robert Maynard <robert.maynard@kitware.com> Merge-request: !2900
| * CUDA: Honor CUDA_RESOLVE_DEVICE_SYMBOLS for more target typesRobert Maynard2019-02-055-0/+151
| | | | | | | | | | | | | | `CUDA_RESOLVE_DEVICE_SYMBOLS` can be used with shared, module, and executable target types. This relaxation is to allow for better interoperability with linkers that automatically do CUDA device symbol resolution and have no way to disable it.
* | Autogen: Extend the SameName test with same name but different extension filesSebastian Holtermann2019-02-056-1/+68
| |
* | Merge topic 'vs-fortran-target-check'Brad King2019-02-051-0/+5
|\ \ | | | | | | | | | | | | | | | | | | d3d2c3cd49 VS: Fix Fortran target type selection when linking C++ targets Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2913
| * | VS: Fix Fortran target type selection when linking C++ targetsBrad King2019-02-041-0/+5
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 2c9f35789d (VS: Decide project type by linker lang as fallback, 2017-03-30, v3.9.0-rc1~340^2) we consider the linker language when detecting whether to generate a `.vfproj` or `.vcxproj` file. However, this could cause C-only projects to become `.vfproj` files if they link to Fortran projects. Instead we should consider only the `LINKER_LANGUAGE` property on the target itself. This approach is already used for CSharp. It allows project code to specify the project file type for a target with no sources but does not allow linked targets to affect it. Fixes: #18687
* | Merge topic '17870-iphone-friendly-cmake'Brad King2019-02-057-94/+73
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | e8ee8cab97 Xcode: Completely disable code signing for compiler id detection 11da882a12 Apple: Introduce separate system name for iOS, tvOS, and watchOS 36cf44a7a3 Tests: Isolate RunCMake.XcodeProject per-device cases from host arch Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2392
| * | Apple: Introduce separate system name for iOS, tvOS, and watchOSGregor Jasny2019-02-047-64/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Remove code signing requirements for non-macOS - Do not set deployment target for non-macOS - Build static library for compiler feature detection for non-macOS - Use framework to run CompilerId tests for watchOS - Port tests to new SDK handling - Add new Apple cross-compiling section to toolchain documentation Closes: #17870
| * | Tests: Isolate RunCMake.XcodeProject per-device cases from host archBrad King2019-02-041-30/+35
| | | | | | | | | | | | | | | Run all host cases before per-device cases. Do not expose the host `CMAKE_OSX_ARCHITECTURES` environment value to the per-device tests.
* | | Xcode: Update default Swift language version for Xcode 10.2Brad King2019-02-041-1/+3
| |/ |/| | | | | | | | | Xcode 10.2 no longer supports Swift language versions before 4.0. Fixes: #18871
* | Merge topic 'vs-wince-deployment'Brad King2019-02-041-0/+8
|\ \ | | | | | | | | | | | | | | | | | | f5d72be57a VS: Fix deployment for WinCE projects Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2907
| * | VS: Fix deployment for WinCE projectsWil Stark2019-02-011-0/+8
| | | | | | | | | | | | Fixes: #18868
* | | Merge topic 'winrtrefs'Brad King2019-02-045-3/+51
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | cff026dbc0 VS: Fix WinRT component references 6c21722adb Tests: Fix VSWinStorePhone test with Windows 10 SDK 17763 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2906
| * | | VS: Fix WinRT component referencesGilles Khouzam2019-02-015-2/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WinRT components need to be referenced in a similar way that managed code libraries are referenced. Validate that the library reference is a WinRT component and reference it through the project. Add test coverage for `VS_WINRT_COMPONENT`. While at it, fix the IOT reference failing on Win10 SDK 17763 which doesn't include it anymore. Fixes: #18846
| * | | Tests: Fix VSWinStorePhone test with Windows 10 SDK 17763Gilles Khouzam2019-02-011-1/+5
| |/ / | | | | | | | | | The Windows 10 SDK no longer includes IOT.
* | | Merge topic 'set-env-warning'Brad King2019-02-043-0/+8
|\ \ \ | |/ / |/| | | | | | | | | | | | | | cb01b8c8ba set: warn of extra arguments after ENV value. Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2903
| * | set: warn of extra arguments after ENV value.Taylor Holberton2019-02-013-0/+8
| | | | | | | | | | | | Fixes: #18842
* | | Merge topic 'implicit-incs-cleanup'Brad King2019-02-0117-1/+332
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | 1293ed8507 ParseImplicitIncludeInfo: keep implicit incl. consistent when rerunning cmake eaf53158f4 CrayPrgEnv/ParseImplicitIncludes: simplify for new implict include parser ef8f237686 ParseImplicitIncludeInfo: add SunPro Fortran and PGI compiler, Cray fix Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2894
| * | ParseImplicitIncludeInfo: add SunPro Fortran and PGI compiler, Cray fixChuck Cranor2019-01-2917-1/+332
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add implicit include parser for PGI compiler ID. PGI verbose output for CXX differs from C and Fortran, so CXX is broken out into its own case. The C and Fortran compilers take "-YI,path" and "-Mnostdinc" to change or disable the builtin include path. The last arg on the command line appears to override previous args (e.g. "-YI,path1 -YI,path2" will set the path to "path2" ... the previous "-YI,path1" gets undone). The CXX compiler verbose output reports with "-I" rather than "-stdinc" for the built in path. In addition with CXX "-Mnostdinc" does not completely zero the include path (e.g. "#include <stdio.h>" still works with "-Mnostdinc"... "-I/usr/include" still shows up in the verbose output). Minor adjustments to get the SunPro parser to handle Fortran as well. Fixes for Cray compiler support (Modules/Compiler/Cray-{C,CXX}.cmake): The *_COMPILE_OPTION flags contain options like "-h c99,gnu" ... these options need to be in double quotes (they are currently not). Otherwise, cmake treats them as lists and tries to run the compiler with "-h;c99,gnu" and fails when it is "Detecting C compile features"... Also, the Cray-CXX.cmake contains "__compiler_cray(C)" instead of "__compiler_cray(CXX)" -- this error prevents the correct VERBOSE flags for CXX from being defined which prevents the implicit include parser from running. Add additional test cases for PGI and SunPro Fortran to the Tests/RunCMake/ParseImplicitIncludeInfo area.
* | | Merge topic 'set-validate-cache-type'Brad King2019-01-313-0/+7
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 198650ae73 set: warn if CACHE type is not recognized Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2874
| * | | set: warn if CACHE type is not recognizedTaylor Holberton2019-01-303-0/+7
| | |/ | |/|
* | | Merge topic 'autogen-qt-version-from-dirprops'Brad King2019-01-316-1/+72
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 91d98542d2 Merge branch 'autogen-qt-version-from-dirprops-release' into autogen-qt-version-from-dirprops-master 062d21c36a Autogen: Read the Qt version from directory properties as well 17ac7c4024 Tests: add cases for providing Qt5Core_VERSION manually 2df6d69014 AutoGen: query Qt5 version from directory properties b598dfb65e Tests: add cases for providing Qt5Core_VERSION manually Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2883
| * | | Tests: add cases for providing Qt5Core_VERSION manuallyBen Boeckel2019-01-306-1/+72
| | | |
* | | | Merge topic 'restore-install-late-framework'Brad King2019-01-313-0/+14
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f64099cf5e Merge branch 'backport-restore-install-late-framework' 95210d027a macOS: Restore compatibility for setting FRAMEWORK after install() d9dd68cb60 macOS: Restore compatibility for setting FRAMEWORK after install() Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Kyle Edwards <kyle.edwards@kitware.com> Merge-request: !2878
| * | | macOS: Restore compatibility for setting FRAMEWORK after install()Brad King2019-01-303-0/+14
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `FRAMEWORK` target property affects the way the `install()` command treats the target and so should be set first. Our implementation assumed that this was always the case and led to an assertion failure. Prior to CMake 3.12 this was visible only when using an explicit `LIBRARY ... NAMELINK_ONLY` option, but commit 0212d7c762 (install: add NAMELINK_COMPONENT argument, 2018-04-18, v3.12.0-rc1~139^2~3) made it possible with a simple `LIBRARY DESTINATION`. Fully supporting out-of-order specification will require non-trivial refactoring to defer install generator creation to generate time. For now simply restore the old behavior of installing the framework to the library destination and warn about the case. Fixes: #18848
* | | Merge topic 'fetchcontent-reduce-boilerplate'Brad King2019-01-3010-0/+52
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | a94355c7b7 FetchContent: Add new command FetchContent_MakeAvailable() 611d5274de Sphinx: Add limited support for nested variables in docs 1a07e1b47d FetchContent: Trivial doc corrections Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2830
| * | FetchContent: Add new command FetchContent_MakeAvailable()Craig Scott2019-01-2610-0/+52
| | | | | | | | | Relates: #18754
* | | Merge topic 'add_consistent_verbose_build_flag'Brad King2019-01-2911-1/+50
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 66801f4d40 cmake: Add tests for verbose output to --build mode 439fe2e253 cmake: Add options for verbose output to --build mode 638667efa2 cmake: cmcmd.cxx fix "The arguments are" comments 3ca4402966 ctest: Fix --build-and-test without --build-target on Xcode cb6c233ecc cmake: Add -hideShellScriptEnvironment xcodebuild option 1a45266cb5 cmGlobalGenerator: Add a class that represent the build command Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2708
| * | | cmake: Add tests for verbose output to --build modeRobert Maynard2019-01-2811-1/+50
| | | |
* | | | Merge topic 'update-tutorial'Brad King2019-01-29120-680/+3346
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0e2cdacf7b Tests: Update style of c++ code snippets in Tutorial directions f2ddedfa58 Tests: Update CMake tutorial 438651506a Tests: Make ExternalProjectLocal independent of Tutorial directory Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2731
| * | | | Tests: Update style of c++ code snippets in Tutorial directionsZack Galbreath2019-01-272-25/+17
| | | | |
| * | | | Tests: Update CMake tutorialBetsy McPhail2019-01-27112-604/+3099
| | | | | | | | | | | | | | | | | | | | Latest material from data.kitware.com -> Collections -> Courses -> CMake.