summaryrefslogtreecommitdiffstats
path: root/Tests
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'objlib-own-target-objs'Brad King2017-07-184-0/+9
|\ | | | | | | | | | | | | d89e10cd Diagnose object library self-reference Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1053
| * Diagnose object library self-referenceBrad King2017-07-144-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code add_library(A OBJECT a.c) target_sources(A PRIVATE $<TARGET_OBJECTS:A>) used to crash CMake via infinite recursion while evaluating the generator expression. Then the change in commit v3.9.0-rc1~266^2~1 (cmGeneratorTarget: Replace source classifier implementation, 2017-04-07) avoided the infinite recursion because GetKindedSources now creates a map entry and initializes it once. If it is called again on the same target during that initialization, the partially computed results are returned. This is still wrong but does not crash. Detect and diagnose this case instead. Co-Author: Ben Boeckel <ben.boeckel@kitware.com> Fixes: #16578
* | Merge topic 'CMakePushCheckState-fix-RESET'Brad King2017-07-141-0/+22
|\ \ | | | | | | | | | | | | | | | | | | fda50a08 CMakePushCheckState: Fix cmake_push_check_state RESET argument Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1040
| * | CMakePushCheckState: Fix cmake_push_check_state RESET argumentBrad King2017-07-121-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | This option was added by commit v2.8.12~138^2 (Add cmake_reset_check_state() macro, 2013-07-28) but has never worked. Fix the implementation to refer to macro arguments properly (not as normal variables). Fixes: #17048
* | | Merge topic 'android-system-include-last'Brad King2017-07-134-0/+31
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 4bafa392 Android: Always add standard include directories last Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1052
| * | | Android: Always add standard include directories lastBrad King2017-07-134-0/+31
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The logic added in commit v3.6.0-rc1~30^2 (Add a variable to specify language-wide system include directories, 2016-05-24) to use `CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` incorrectly filters them by `CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES`. Rather than recognizing this, commit v3.8.0-rc1~60^2 (Android: Pass sysroot include directory explicitly, 2017-01-20) worked around the problem by incorrectly removing `/usr/include` from `CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES` so it worked in `CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES`. By not filtering out `/usr/include` from user-specified include directories, we allow the code include_directories(${CMAKE_SYSROOT}/usr/include) to place the include directory too early on the command line. Fix support for standard include directories to not be filtered by implicit include directories, and do not remove `/usr/include` from the list of implicit include directories for Android builds. Add a test case to verify that an explicit `/usr/include` is ignored in favor of the standard directory at the end. Fixes: #17059
| * | Merge branch 'vs-2017-sln-guid' into release-3.9Brad King2017-07-1111-7/+18
| |\ \
| * \ \ Merge branch 'find_package-root-prefix-path-suffixes' into release-3.9Brad King2017-07-118-0/+72
| |\ \ \
| * \ \ \ Merge branch 'bindexplib-revert-consts' into release-3.9Brad King2017-07-102-12/+0
| |\ \ \ \
| * \ \ \ \ Merge branch 'autogen-no-generated-files' into release-3.9Brad King2017-07-072-0/+3
| |\ \ \ \ \
* | \ \ \ \ \ Merge topic 'FindProtobuf-protoc-target'Brad King2017-07-131-0/+2
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c281acf8 FindProtobuf: add target for protoc Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1045
| * | | | | | | FindProtobuf: add target for protocAndré Apitzsch2017-07-121-0/+2
| | | | | | | |
* | | | | | | | Merge topic 'test_include_files'Brad King2017-07-137-0/+79
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 117033c1 Add TEST_INCLUDE_DIR[S] unit test ed5bde30 Add TEST_INCLUDE_FILES Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1031
| * | | | | | | | Add TEST_INCLUDE_DIR[S] unit testMatthew Woehlke2017-07-127-0/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a unit test for the TEST_INCLUDE_DIR and (new) TEST_INCLUDE_DIRS directory properties.
* | | | | | | | | Merge topic 'labels-for-subprojects'Brad King2017-07-1332-0/+483
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 376dc3eb Help: Add notes for topic 'labels_for_subprojects' a70d8e93 Add tests for new directory labels and labels-for-subprojects features 47b3a57c Display subproject timing summary d3859624 Add directory property 'LABELS' and CMAKE_DIRECTORY_LABELS variable d08ec4d2 Add CTEST_LABELS_FOR_SUBPROJECTS as a CTest module and script variable Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1004
| * | | | | | | | | Add tests for new directory labels and labels-for-subprojects featuresBetsy McPhail2017-07-1032-0/+483
| | | | | | | | | |
* | | | | | | | | | Merge topic 'vs-2017-sln-guid'Brad King2017-07-1211-7/+18
|\ \ \ \ \ \ \ \ \ \ | | |_|_|_|_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5cf9c3d0 VS: Add SolutionGuid to generated .sln files Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1042
| * | | | | | | | | VS: Add SolutionGuid to generated .sln filesBrad King2017-07-1111-7/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Visual Studio 2017 Update 3 adds a SolutionGuid to its `.sln` files. Fixes: #17041
* | | | | | | | | | Merge topic 'find_package-root-prefix-path-suffixes'Brad King2017-07-128-0/+72
|\ \ \ \ \ \ \ \ \ \ | | |_|_|_|_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 80b905f8 find_*: Honor PATH_SUFFIXES in PackageName_ROOT paths 1ae1b880 cmFindCommon: Drop unused FilterPaths method cca8454e cmFindCommon: Fix typo in PackageName_ROOT path label Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Chuck Atkins <chuck.atkins@kitware.com> Merge-request: !1044
| * | | | | | | | | find_*: Honor PATH_SUFFIXES in PackageName_ROOT pathsBrad King2017-07-118-0/+72
| |/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was accidentally forgotten in commit v3.9.0-rc1~71^2~2 (find_*: Add a new PackageRoot search path group, 2017-05-03). Fixes: #17052
* | | | | | | | | Merge topic 'bindexplib-revert-consts'Brad King2017-07-122-12/+0
|\ \ \ \ \ \ \ \ \ | |_|_|_|/ / / / / |/| | | | | | / / | | |_|_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | 3250b9a1 bindexplib: Revert support for constants symbols Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1041
| * | | | | | | bindexplib: Revert support for constants symbolsBrad King2017-07-102-12/+0
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert the main logic change of commit v3.9.0-rc1~192^2 (bindexplib: fix constants symbols export, 2017-04-26) and its test case. Unfortunately some constants may be provided by multiple object files with different `@...` suffixes, leading to ambiguous references. Revert support pending further investigation. Fixes: #17045
* | | | | | | Merge topic 'FindMFC-try-static'Brad King2017-07-111-0/+5
|\ \ \ \ \ \ \ | |_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6b2bf575 FindMFC: Check for static MFC variant Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1034
| * | | | | | FindMFC: Check for static MFC variantRich Chiodo2017-07-061-0/+5
| | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | Some CMake applications can set /MT without setting CMAKE_MFC_FLAG. This change lets FindMFC work in those situations.
* | | | | | Merge topic 'autogen-no-generated-files'Brad King2017-07-102-0/+3
|\ \ \ \ \ \ | | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | 9a34e95a Autogen: Skip generated files for compatibility with CMake 3.8 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1033
| * | | | | Autogen: Skip generated files for compatibility with CMake 3.8Brad King2017-07-072-0/+3
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The change in commit v3.9.0-rc1~464^2~8 (Autogen: Add AUTOMOC/UIC support for generated source files, 2017-03-02) changes behavior of existing projects that may not expect `AUTOGEN` on generated files and do not yet set `SKIP_AUTOGEN` on them. Disable the behavior change for now to fix the regression for CMake 3.9. We can restore it later with a policy. In order to keep the implementation and tests working, add an undocumented property we can use in the tests to enable the behavior before the policy is introduced. Fixes: #17031 Issue: #16186
* | | | | Merge topic 'find_package-restore-considered-configs'Brad King2017-07-1011-1/+45
|\ \ \ \ \ | | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | e7730d78 find_package: Restore longer message when config files were considered Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1032
| * | | | find_package: Restore longer message when config files were consideredBrad King2017-07-0711-1/+45
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit v3.9.0-rc1~58^2 (find_package: shorten output for missing package in config mode, 2017-05-09) we print only the one line - Could NOT find Foo (missing: Foo_DIR) when package Foo cannot be found in CONFIG mode and it is not REQUIRED. However, in the case that package configuration files were found but not used, this one line message leaves out important information. This can happen when a package configuration file sets `Foo_FOUND` to `FALSE` or when its package version file does not match the requested version. Restore the longer message in these cases. Otherwise a seemingly valid explicit `Foo_DIR` setting appears to be silently ignored even if it was considered. Fixes: #17029
| * | | Merge branch 'fix-crash-on-non-enabled-language-features' into release-3.9Brad King2017-06-2726-12/+30
| |\ \ \
| * \ \ \ Merge branch 'vs-cuda-fix-flags' into release-3.9Brad King2017-06-271-0/+5
| |\ \ \ \
* | | | | | configure_file: Add support for indented cmakedefineSylvain Joubert2017-07-048-0/+60
| |_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Optional spaces and/or tabs are now understood between the '#' character and the 'cmakedefine'/'cmakedefine01' words. This indentation is preserved in the output lines. Fixes: #13037
* | | | | XCTest: Speed up test by only enabling C languageGregor Jasny2017-06-281-1/+1
| |_|_|/ |/| | |
* | | | Merge topic 'feature/include_guard'Brad King2017-06-2819-0/+126
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c96f43b7 include_guard: add tests for the feature 80f1221f include_guard: add doc pages and a release note 85b52a04 include_guard: add vim syntax highlighting rules d44bd1c2 include_guard: implement new command Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Craig Scott <craig.scott@crascit.com> Merge-request: !928
| * | | | include_guard: add tests for the featurePavel Solodovnikov2017-06-2219-0/+126
| | | | |
* | | | | Merge topic 'vs_csharp_custom_command'Brad King2017-06-277-0/+83
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ec409a11 Vs: fix CSharp custom command by introducing inline MSBuild <Targets>s dcdab5cf Vs: factor out computation of <Link> tag for CSharp source files 0a8f469a Vs: refactor WriteCustomRule for preparation of CSharp support Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !970
| * | | | | Vs: fix CSharp custom command by introducing inline MSBuild <Targets>sMichael Stürmer2017-06-227-0/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The custom command implementation is based on the Microsoft support article: https://docs.microsoft.com/en-us/visualstudio/msbuild/how-to-extend-the-visual-studio-build-process Fixes: #16960
* | | | | | Merge topic 'fix-crash-on-non-enabled-language-features'Brad King2017-06-2726-12/+30
|\ \ \ \ \ \ | | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e03a1b3b target_compile_features: Do not crash on non-enabled language 86990427 Tests: Enable languages explicitly in RunCMake.target_compile_features Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1010
| * | | | | target_compile_features: Do not crash on non-enabled languageBrad King2017-06-264-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | Fixes: #17011
| * | | | | Tests: Enable languages explicitly in RunCMake.target_compile_featuresBrad King2017-06-2622-12/+22
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | Enable C or CXX (or nothing) as needed in each test case. This will allow us to add test cases that do not enable CXX.
| * | | | Merge branch 'vs-rc-flags' into release-3.9Brad King2017-06-221-0/+4
| |\ \ \ \
| * \ \ \ \ Merge branch 'vs-cuda-fix-flags' into release-3.9Brad King2017-06-213-0/+9
| |\ \ \ \ \
* | \ \ \ \ \ Merge topic 'vs-cuda-fix-flags'Brad King2017-06-271-0/+5
|\ \ \ \ \ \ \ | | |_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bbc1f364 VS: Fix support for nvcc flags not in our flag table Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1007
| * | | | | | VS: Fix support for nvcc flags not in our flag tableBrad King2017-06-271-0/+5
| | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The change in commit v3.9.0-rc4~3^2 (VS: Improve workaround for CUDA -Xcompiler placement bug, 2017-06-21) accidentally appended to the `AdditionalOptions` as if it were a `;`-separated list, but it is actually a command-line string. Append with a space instead. While at it, fix the same problem for the `AdditionalOptions` added to `CudaLink` by commit v3.9.0-rc3~1^2 (CUDA: When linking device code suppress CUDA 8.0+ deprecation warnings, 2017-06-09). Fixes: #17008
* | | | | | Merge topic 'vs-rc-flags'Brad King2017-06-221-0/+4
|\ \ \ \ \ \ | | |_|/ / / | |/| | / / | |_|_|/ / |/| | | | | | | | | | | | | | 974f4333 VS: Fix support for rc /nologo flag in per-source COMPILE_FLAGS Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !998
| * | | | VS: Fix support for rc /nologo flag in per-source COMPILE_FLAGSBrad King2017-06-221-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit v3.9.0-rc1~160^2 (VS: Use tool-specific flag table for COMPILE_FLAGS parsing, 2017-05-03) we now correctly use the `rc` flag table to process the COMPILE_FLAGS flags of `.rc` source files instead of incorrectly using the `cl` flag table as before. However, our `rc` flag table is not complete. The `/nologo` flag was working before only by accident because the `cl` flag table entry for it happened to match. Add the proper entry to the `rc` flag table. Fixes: #16991
* | | | | Merge topic 'vs-cuda-fix-flags'Brad King2017-06-223-0/+9
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | 3b754215 VS: Improve workaround for CUDA -Xcompiler placement bug f2059585 VS: Fix target_compile_options for CUDA Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !996
| * | | | VS: Improve workaround for CUDA -Xcompiler placement bugBrad King2017-06-211-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit v3.9.0-rc1~431^2~6 (VS: Place CUDA host compiler options in proper project file fields, 2017-03-07) we worked around a bug in the CUDA VS integration by dropping `AdditionalCompilerOptions`. However, this silently drops `-Xcompiler=` options given by the user that don't map to one of CudaCompile's dedicated settings. Improve the workaround to instead put the remaining `AdditionalCompilerOptions` into the `AdditionalOptions` field behind `-Xcompiler=` ourselves.
| * | | | VS: Fix target_compile_options for CUDABrad King2017-06-212-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the VS generator to honor `COMPILE_OPTIONS` for CUDA. The exclusion added by commit v3.9.0-rc1~431^2~7 (VS: Do not pass CUDA compile options to C compiler, 2017-03-07) was correct but we need additional logic to pass the CUDA compile options to the CUDA compiler. Also we should still pass the CXX or C options to MSVC (ClCompile) when those languages are enabled even if the link language is CUDA.
* | | | | Merge topic 'cuda-macos-rpath-in-tests'Brad King2017-06-227-23/+17
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fff782f6 Tests: Simplify CUDA rpath on macOS Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !995
| * | | | | Tests: Simplify CUDA rpath on macOSBrad King2017-06-217-23/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the `BUILD_RPATH` property and reference the CMake-computed location of the runtime libraries.