summaryrefslogtreecommitdiffstats
path: root/Tests
Commit message (Collapse)AuthorAgeFilesLines
...
* | Merge branch 'doc-pch-compile-language' into release-3.16Brad King2019-10-162-1/+18
|\ \ | | | | | | | | | Merge-request: !3925
| * | PCH: Document and test COMPILE_LANGUAGE genex for per-language headerBrad King2019-10-162-1/+18
| |/ | | | | | | Fixes: #19839
* | Merge branch 'cmake-initial-cache-relative' into release-3.16Brad King2019-10-1412-10/+38
|\ \ | | | | | | | | | Merge-request: !3912
| * | cmake: Fix relative path regression in -CPeter Waller2019-10-1412-10/+38
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 4ca0526f8a (cmake: Pass -S and -B into PreLoad.cmake and -C scripts, 2019-08-20, v3.16.0-rc1~195^2) the value of `CMAKE_SOURCE_DIR` is the source directory rather than the current working directory. This was correct on its own, but the place storing that value is also used as the base for relative paths specified on the command line. The latter should of course be relative to the current working directory. The fix is to switch to use a full path internally, unless a full path is already specified. Add tests for the behaviour of `-C` under these four circumstances: {with -S, without -S} x {full path, relative path} Fixes: #19827
* | Merge branch 'objc-c++flags' into release-3.16Brad King2019-10-113-0/+28
|\ \ | | | | | | | | | Merge-request: !3904
| * | Objective-C: Do not treat Objective-C files as C++ filesCristian Adam2019-10-113-0/+28
| |/ | | | | | | | | When both C and C++ langauges are enabled, the Objective-C files should be treated as C files and not as C++ files.
* | Tests: Update CompileFeatures test for Intel 19 with VS 2015Brad King2019-10-101-0/+6
| | | | | | | | | | Blacklist `cxx_relaxed_constexpr` for this case because the compiler does not advertise the support in this mode but compiles our example.
* | Intel: Fix default C++ dialect detection on WindowsBrad King2019-10-101-1/+11
|/ | | | | | For the Intel Compiler for Windows we have some subtle preprocessor checks in compiler feature detection to detect C++11 and C++14 modes. Use these when detecting the default C++ dialect too.
* CLI: Rename --loglevel to --log-level for naming consistencyCraig Scott2019-10-1015-40/+136
| | | | | | | Other multi-word command line options use hyphens to separate the words, so the --loglevel option introduced in CMake 3.15 was inconsistent in this regard. Rename it to --log-level but still support the original --loglevel name to preserve backward compatibility.
* Merge topic 'export-genex-under-prefix'Brad King2019-10-071-1/+4
|\ | | | | | | | | | | | | 3ded5b6da8 install,export: Fix export of a genex following $<INSTALL_PREFIX> Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3886
| * install,export: Fix export of a genex following $<INSTALL_PREFIX>Brad King2019-10-041-1/+4
| | | | | | | | | | | | | | | | | | The relative path check added by commit 5838aba1aa (Export: Report error on relative include with genex., 2013-11-26, v3.0.0-rc1~285^2) was added one condition too early. If the value starts in `${_IMPORT_PREFIX}` (which comes from `$<INSTALL_PREFIX>`) then it is an absolute path. Fixes: #19791
* | Tests: Enable ConfigSources test on every configurationBrad King2019-10-049-23/+71
| | | | | | | | | | Revise the test itself to work in all configurations and verify that certain sources are only built by whatever configuration is tested.
* | PCH: Fix CMake test files indentationCristian Adam2019-10-034-20/+20
| |
* | PCH: Add multi-language PCH generation supportCristian Adam2019-10-033-0/+27
|/ | | | | | | | | If the target has C files, it will get a C PCH file. The same for C++ files. The linker language is no longer used to determine which language to use for PCH. Fixes: #19790
* Merge topic 'ctest-hardware-allocation'Brad King2019-10-0392-5/+2050
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | e9500271a3 Help: Add documentation for CTest hardware allocation d1f100a415 CTest: Add Json output for PROCESSES property b741ee820d Tests: Add test for CTest hardware allocation feature 3c8a5aad46 Tests: Write tests for cthwalloc helper tool 2d74e54661 Tests: Write cthwalloc helper tool e34de0691b CTest: Allocate hardware to tests aee0964851 CTest: Add bin-packing algorithm c494b2973a CTest: Add cmCTestHardwareAllocator class ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3858
| * CTest: Add Json output for PROCESSES propertyKyle Edwards2019-10-022-4/+62
| |
| * Tests: Add test for CTest hardware allocation featureKyle Edwards2019-10-0223-26/+204
| |
| * Tests: Write tests for cthwalloc helper toolKyle Edwards2019-10-0245-0/+284
| | | | | | | | | | This helper tool is sufficiently complex that it warrants having its own test suite.
| * Tests: Write cthwalloc helper toolKyle Edwards2019-10-022-0/+428
| |
| * CTest: Add bin-packing algorithmKyle Edwards2019-10-022-0/+301
| | | | | | | | | | | | | | This algorithm is used to determine whether or not a test can execute with the available resources. It uses a recursive largest- first algorithm to try to place the tests into their respective slots.
| * CTest: Add cmCTestHardwareAllocator classKyle Edwards2019-10-022-0/+427
| |
| * CTest: Add parser for hardware spec fileKyle Edwards2019-10-0220-0/+230
| |
| * CTest: Add lexer for PROCESSES propertyKyle Edwards2019-10-022-1/+140
| |
* | Merge topic 'FindJava-all-versions'Brad King2019-10-034-43/+27
|\ \ | | | | | | | | | | | | | | | | | | | | | 3d02593986 FindJava: ensure all versions can be found 14ac253af7 FindJava: tests clean-up Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3871
| * | FindJava: tests clean-upMarc Chevrier2019-10-024-43/+27
| |/
* | Xcode: Restore CMAKE_XCODE_GENERATE_SCHEME for custom targetsBrad King2019-10-022-0/+12
|/ | | | | | | | | The target property introduced by commit 413b71485a (Xcode: Create Xcode schemes per target, 2019-03-11, v3.15.0-rc1~347^2) was accidentally not initialized by `CMAKE_XCODE_GENERATE_SCHEME` for custom targets. Fix it and update the test. Fixes: #19759
* Merge topic 'ninja-depend-shared-symlinks'Brad King2019-10-022-2/+27
|\ | | | | | | | | | | | | 4891f0f966 Ninja: Ensure shared library version symlinks are created for dependents Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3875
| * Ninja: Ensure shared library version symlinks are created for dependentsBrad King2019-10-012-2/+27
| | | | | | | | | | | | | | | | When linking to a shared library target that has version symlinks, add an order-only dependency on the build statement that creates the links. This ensures that the links exist for use at runtime. Fixes: #19774
* | Merge topic 'clang-format-normalize-headers-presentation'Brad King2019-10-02160-213/+299
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | ed98209ddc Revise include order using clang-format-6.0 185fe49f29 clang-format: Normalize headers presentation 42ef28b4f3 Remove unused uid_t/gid_t types on Windows Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Sebastian Holtermann <sebholt@web.de> Merge-request: !3851
| * | Revise include order using clang-format-6.0Kitware Robot2019-10-01150-209/+279
| | | | | | | | | | | | | | | Run the `clang-format.bash` script to update our C and C++ code to a new include order `.clang-format`. Use `clang-format` version 6.0.
| * | clang-format: Normalize headers presentationMarc Chevrier2019-10-0110-4/+20
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By using clang-format directives 'IncludeBlocks' and 'IncludeCategories' headers are regrouped by categories: 1. "cmConfigure.h" which must be first 2. header matching current implementation file 3. standard language headers 4. CMake replacement ones 5. external headers (i.e. #include directive with '<' and '>') 6. Qt headers 7. cmsys/* headers 8. cm_* headers 9. CMake headers (i.e. starting with 'cm[A-Z]') 10. all other headers Fixes: #19674
* | Merge topic 'pch-compile-pdb'Brad King2019-10-024-0/+18
|\ \ | | | | | | | | | | | | | | | | | | e6e189e02b PCH: Report error when setting COMPILE_PDB_NAME property Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3864
| * | PCH: Report error when setting COMPILE_PDB_NAME propertyCristian Adam2019-10-014-0/+18
| | | | | | | | | | | | | | | Reusable precompile headers require specific COMPILE_PDB_NAME property values. Report error if the user tries to set a different value.
* | | Merge topic 'test-iface-paths'Brad King2019-10-028-13/+13
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | 335236b0cb Tests: Shorten name RunCMake.IfacePaths_{INCLUDE_DIRECTORIES => INCDIRS} Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3873
| * | Tests: Shorten name RunCMake.IfacePaths_{INCLUDE_DIRECTORIES => INCDIRS}Brad King2019-10-018-13/+13
| |/ | | | | | | | | The original name was responsible for the longest path in our build tree. Use a shorter name to enable longer build tree names on Windows.
* | Tests: Cover EXCLUDE_FROM_ALL OFF on sub/sub/tgt in sub/allBrad King2019-09-304-0/+5
| | | | | | | | Issue: #19753
* | Ninja,Makefile: Fix subdir "all" with nested EXCLUDE_FROM_ALL subdirBrad King2019-09-306-0/+10
|/ | | | | | | | | | The "all" target defined for a subdirectory (e.g. `cd sub; make` or `ninja sub/all`) should not include the "all" targets from nested subdirectories (e.g. `sub/sub`) that are marked as `EXCLUDE_FROM_ALL`. Fix this and add a test case. Issue: #19753 Co-Author: Sebastian Holtermann <sebholt@xwmw.org>
* Merge topic 'fix-EXCLUDE_FROM_ALL-subdir-all'Brad King2019-09-309-66/+120
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | dce58afd30 Merge branch 'backport-3.15-fix-EXCLUDE_FROM_ALL-subdir-all' 013d7dd484 Help: Mention 3.14.7 EXCLUDE_FROM_ALL fix in 3.15.4 release note 61103c0bac Merge branch 'backport-3.14-fix-EXCLUDE_FROM_ALL-subdir-all' 1fe4501592 Help: Add release note for EXCLUDE_FROM_ALL fix in 3.15.4 05d7ca14e9 Merge branch 'backport-3.14-fix-EXCLUDE_FROM_ALL-subdir-all' 62d45d91e8 Help: Add release note for EXCLUDE_FROM_ALL fix in 3.14.7 b3b1c7bf3a Restore "all" target in subdirectories marked EXCLUDE_FROM_ALL 156b56480a Makefiles: Revert "Make build root targets ... recursive" ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3863
| * Merge branch 'backport-3.15-fix-EXCLUDE_FROM_ALL-subdir-all'Brad King2019-09-309-66/+120
| |\ | | | | | | | | | | | | | | | | | | | | | Resolve conflicts with changes since the 3.15 series: * Convert `cmSystemTools::IsOn` => `cmIsOn`. * Move one "EXCLUDE_FROM_ALL" target property logic fix to its new location in `cmMakefile::AddNewUtilityTarget`.
| | * Merge branch 'backport-3.14-fix-EXCLUDE_FROM_ALL-subdir-all'Brad King2019-09-309-66/+120
| | |\
| | | * Restore "all" target in subdirectories marked EXCLUDE_FROM_ALLBrad King2019-09-307-2/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The "all" target in each directory is supposed to have targets from that directory even if the directory itself is marked `EXCLUDE_FROM_ALL` in its parent. This was broken by commit dc6888573d (Pass EXCLUDE_FROM_ALL from directory to targets, 2019-01-15, v3.14.0-rc1~83^2) which made the participation of a target in "all" independent of context. Revert much of the logic change from that commit to restore the old behavior. Then re-implement the behavior intended by the commit to keep its test working. Extend the test to cover the old behavior too. Fixes: #19753
| | | * Tests: Clarify target names in RunCMake.add_subdirectory ExcludeFromAllBrad King2019-09-264-6/+9
| | | | | | | | | | | | | | | | | | | | Rename the `baz` target to `subinc` to clarify that its role is to be included even though it is in an otherwise excluded subdirectory.
| | | * Tests: Revise RunCMake.add_subdirectory ExcludeFromAll to avoid globbingBrad King2019-09-264-61/+43
| | | | | | | | | | | | | | | | Also simplify the clean step.
| | | * Tests: Teach RunCMake to support a custom working directoryBrad King2019-09-241-1/+4
| | | |
| | * | Merge branch 'FindBoost-1.71' into release-3.15Brad King2019-08-301-0/+5
| | |\ \ | | | | | | | | | | | | | | | Merge-request: !3763
| | * \ \ Merge branch 'backport-find-no-name' into release-3.15Brad King2019-08-283-0/+4
| | |\ \ \ | | | | | | | | | | | | | | | | | | Merge-request: !3751
| | * \ \ \ Merge branch 'ninja_additional_clean_files_custom_target' into release-3.15Brad King2019-08-271-37/+49
| | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | Merge-request: !3739
| | * \ \ \ \ Merge branch 'ctest-json-REQUIRED_FILES' into release-3.15Brad King2019-08-222-4/+18
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Merge-request: !3719
* | | \ \ \ \ \ Merge topic 'objective-c-cxx'Brad King2019-09-3024-1/+355
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dd0f304613 Objective C/C++: Add compiler standard detection b515af782b Help: Add release note for Objective-C/C++ language support 9e66397c28 Languages: Add support for Objective-C++ 80f120a85f Languages: Add support for Objective-C Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3811
| * | | | | | | | Languages: Add support for Objective-C++Steve Wilson2019-09-2814-22/+195
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add entries in Modules and Modules/Platform to support Objective-C++ compiler determination and identification. Add Modules to check Objective-C++ compiler flags, source compilations, program checks, etc... Use OBJCXX as the designator of the language, eg: project(foo OBJCXX) Add various tests for Objective-C++ language features. Add tests to preserve C++ handling of .M and .mm files when Objective-C++ is not a configured language. Co-authored-by: Cristian Adam <cristian.adam@gmail.com>