Commit Graph

7093 Commits

Author SHA1 Message Date
Brad King
30908fa0ee Merge topic 'xcode-restore-CMakeLists'
0ce8a5c08d Xcode: Fix generated references to CMakeLists.txt files
9457c95aa0 cmGlobalXCodeGenerator: Mark known source locations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3999
2019-11-06 09:23:56 -05:00
Alex Turbov
53227a4ff2
Refactor: Modernize foreach code and fix some bugs
- fix the typo in `foreach` documentation
- fix broken `foreach(... IN ITEMS ... LISTS ...)`
- add tests of `foreach` for existed functionality and fixes
2019-11-06 16:14:47 +02:00
Brad King
0ce8a5c08d Xcode: Fix generated references to CMakeLists.txt files
Refactoring in commit 2d888e3390 (cmSourceFile: Rename mutating
GetFullPath() overload, 2019-08-29, v3.16.0-rc1~160^2) accidentally left
the paths to `CMakeLists.txt` files empty in generated Xcode project
files.

Fixes: #19927
2019-11-05 14:29:41 -05:00
Brad King
016601e5e6 Merge branch 'backport-ctest-resource-groups' 2019-11-05 12:59:16 -05:00
Craig Scott
eb9d945f14 CTest: Rename hardware -> resources for RunCMake tests
Also includes variants like hw -> res
2019-11-05 12:08:35 -05:00
Craig Scott
c544cb6698 CTest: Rename hardware -> resources for source code 2019-11-05 12:08:35 -05:00
Craig Scott
a7c1e15cc4 CTest: Rename hardware -> resources for CMake variables, command options
Only changes the user-visible effects of renaming hardware
allocation to resource allocation. Code changes are the minimum
needed to achieve that.
2019-11-05 12:08:35 -05:00
Brad King
af9ed543b0 CTest: Rename PROCESSES test property to RESOURCE_GROUPS
The `PROCESSES` test property name added for CMake 3.16 is too close to
the existing `PROCESSORS` test property.  Furthermore, the property in
principle specifies groups of resources organized in a way that is
meaningful to a particular test.  The groups may often correspond to
processes but they could have other meanings.  Since the property name
`PROCESSES` has not been in a final 3.16 release yet, simply rename it
to `RESOURCE_GROUPS`.

Fixes: #19914
2019-11-05 12:08:01 -05:00
Brad King
3c0a317a1d Merge branch 'findpostgres-10-and-older' into release-3.16
Merge-request: !3993
2019-11-05 11:31:24 -05:00
Brad King
0ec60a4002 Merge branch 'source_group-tree' into release-3.16
Merge-request: !3979
2019-11-05 11:31:16 -05:00
Brad King
cb165b8b79 Merge topic 'source_group-tree'
3c0ca5a9d9 source_group: ensure that passed file is not a directory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3979
2019-11-05 11:30:27 -05:00
Brad King
3521e3d524 Merge topic 'findpostgres-10-and-older'
e992d62b7e FindPostgreSQL: support version encoding used in pre-10 releases

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3993
2019-11-05 11:23:59 -05:00
Brad King
57db062414 Merge topic 'ctest-repeat-until-pass'
30e79bb4a3 Tests: Extend RunCMake.CTestCommandLine internal timeout for valgrind

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3987
2019-11-05 10:55:41 -05:00
Kyle Edwards
deeab72aae Tests: Add tests for INSTALL_NAME_DIR 2019-11-04 19:02:16 -05:00
Ben Boeckel
e992d62b7e FindPostgreSQL: support version encoding used in pre-10 releases
With the 10.x release, PostgreSQL upstream started encoding the version
as `MMmmmm` where `M` is major and `m` is minor. Prior to that, `MMmmPP`
was used where `P` was the patch number. Detect this difference and
decode it based on the used encoding.

Fixes: #19912
2019-11-04 16:38:52 -05:00
Craig Scott
9667996923 Merge topic 'message-check-types'
7b2dd9dedc Refactor: Use added message types in various modules
949a1e120a message: New message types to mark checks performed by CMake

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3689
2019-11-04 14:11:45 -05:00
Mateusz Janek
3c0ca5a9d9 source_group: ensure that passed file is not a directory
Fixes: #19769
2019-11-04 13:37:41 -05:00
Brad King
30e79bb4a3 Tests: Extend RunCMake.CTestCommandLine internal timeout for valgrind
A case added by commit 39ac8b4eb5 (ctest: Add --repeat-after-timeout
option, 2019-10-29) includes a success-case timeout of 2 seconds.  That
is too short when running under valgrind, so extend it to 5 seconds.
2019-11-04 11:22:58 -05:00
Brad King
dbd14ecacf Merge topic 'FindPython-customize-failure-message'
687a354518 FindPython: customize failure message

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3970
2019-11-04 10:30:39 -05:00
Brad King
abac3a31a2 Merge topic 'root-dir-assertion-fix'
0692eaf0fe ForceToRelativePath: Fix spurious assertion when local path is root dir

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3976
2019-11-04 10:24:31 -05:00
Brad King
1463cfb437 Merge topic 'pgi-license-warnings'
59673bb2dc Tests: Teach RunCMake to ignore PGI license expiry warnings
210d04bb79 CTestCustom: Suppress PGI Community Edition compiler license warnings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3975
2019-11-04 10:12:26 -05:00
Alex Turbov
949a1e120a
message: New message types to mark checks performed by CMake
Closes #19638.

Co-Authored-By: Craig Scott <craig.scott@crascit.com>
2019-11-02 14:10:09 +02:00
Craig Scott
0692eaf0fe ForceToRelativePath: Fix spurious assertion when local path is root dir
Fixes: #19909
2019-11-02 17:54:13 +11:00
Brad King
6660926f22 Merge topic 'ctest-repeat-until-pass'
39ac8b4eb5 ctest: Add --repeat-after-timeout option
80c2c9d14c ctest: Add --repeat-until-pass option
0187e52244 cmCTestRunTest: Use inline member initializers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3960
2019-11-01 09:55:18 -04:00
Brad King
59673bb2dc Tests: Teach RunCMake to ignore PGI license expiry warnings
These are not useful in nightly testing.
2019-11-01 09:23:03 -04:00
Marc Chevrier
687a354518 FindPython: customize failure message 2019-11-01 12:10:30 +01:00
Brad King
dbf5ae35b5 Merge topic 'scanbuild-fixes'
fe5ba71bd0 Tests: Suppress clang scan-build warning in UTF8 test
3cf71e8c7d cmLocalGenerator: Drop unused initializer in AddUnityBuild

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3958
2019-10-30 09:30:34 -04:00
Brad King
39ac8b4eb5 ctest: Add --repeat-after-timeout option
Add an option to re-run tests if they timeout.  This will help tolerate
sporadic timeouts on busy machines.
2019-10-29 15:14:36 -04:00
Brad King
80c2c9d14c ctest: Add --repeat-until-pass option
Add an option to re-run tests if they fail.  This will help tolerate
sporadic failures.

Issue: #17010
Co-Author: Ben Boeckel <ben.boeckel@kitware.com>
Co-Author: Chuck Atkins <chuck.atkins@kitware.com>
2019-10-29 15:10:12 -04:00
Brad King
fe5ba71bd0 Tests: Suppress clang scan-build warning in UTF8 test
Clang scan-build 7 reports:

```
Tests/CMakeLib/testUTF8.cxx:12:3: warning: 4th function call argument is an uninitialized value
  printf("[0x%02X,0x%02X,0x%02X,0x%02X]", static_cast<int>(d[0]),
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```

Manual tracing of all call sites shows that all values are initialized.
2019-10-29 11:20:47 -04:00
Craig Scott
c37f4eff5e FindPackageModeMakefileTest: macOS needs isysroot flag
macOS/Xcode no longer populate /usr/include.
Building with the compiler directly instead of using /usr/bin/c++
can result in missing headers without the -isysroot flag.

Relates: #19885
2019-10-29 07:14:08 +11:00
Brad King
336a826f77 Merge topic 'framework-tests-multiarch-old-macos'
3e30c4cc1f Tests: Match file command output for older macOS (Framework test)
89ad3b3959 Tests: Prevent CMP0012 policy warnings in Framework test output

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3954
2019-10-28 10:10:37 -04:00
Brad King
62267715fe Merge branch 'framework-tests-multiarch-old-macos' into release-3.16
Merge-request: !3954
2019-10-28 10:09:29 -04:00
Brad King
cb13aa580d Merge topic 'ExternalProject-git-no-recurse'
5bc6230741 ExternalProject: Option to turn off recursive update of git submodules

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3923
2019-10-28 10:05:45 -04:00
Craig Scott
c79e9d8c21 Merge branch 'project-version-buffer-overflow' into release-3.16
Merge-request: !3948
2019-10-28 21:55:20 +11:00
Craig Scott
cdcc173e23 Merge topic 'project-version-buffer-overflow'
82cdb26c93 project: Fix potential buffer write-past-end for version components
15a0b0d046 Help: math() expressions must be representable as signed 64-bit

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3948
2019-10-28 06:50:22 -04:00
Craig Scott
3e30c4cc1f Tests: Match file command output for older macOS (Framework test) 2019-10-27 23:48:41 +11:00
Craig Scott
89ad3b3959 Tests: Prevent CMP0012 policy warnings in Framework test output 2019-10-27 23:28:17 +11:00
Craig Scott
82cdb26c93 project: Fix potential buffer write-past-end for version components
This fixes two errors: not accounting for the trailing null and a
misunderstanding of what std::numeric_limits::digits10 means.
2019-10-26 17:50:24 +11:00
Charis Marangos
5bc6230741 ExternalProject: Option to turn off recursive update of git submodules
Fixes: #19832
2019-10-24 13:36:19 -04:00
Brad King
667f2861dc Merge topic 'project-include-before'
f7acc1266c project: Add variable CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE_BEFORE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3936
2019-10-21 11:24:28 -04:00
Brad King
53f95dc5fb Merge topic 'export-compile-commands-environment-variable'
8065a686dd Initialize CMAKE_EXPORT_COMPILE_COMMANDS from envvar of the same name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3914
2019-10-21 11:23:47 -04:00
Brad King
ede1bebd50 Merge topic 'FindOpenMP-include-dir'
409891baf7 FindOpenMP: Allow try_compile() to find omp.h for AppleClang

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3916
2019-10-21 11:20:33 -04:00
Brad King
50afd147f8 Merge topic 'vs-per-config-sources'
55a0bebdd3 VS: Add support for per-config sources
bcaecf6bcd Teach check for single-language targets to consider all configurations
324988a6b1 cmGeneratorTarget: Add GetAllConfigCompileLanguages method
fd2c9fac10 cmGeneratorTarget: Return non-const sources from GetAllConfigSources

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3882
2019-10-21 11:12:06 -04:00
Brad King
eaebd4fc47 Merge branch 'FindOpenMP-include-dir' into release-3.16
Merge-request: !3916
2019-10-21 11:09:56 -04:00
Deniz Bahadir
f7acc1266c project: Add variable CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE_BEFORE
Follow up commit 0761186949 (project: Add variable
CMAKE_PROJECT_INCLUDE_BEFORE, 2019-03-28, v3.15.0-rc1~294^2) with a
project-specific variant.  This variable will be used similar to the
already existing `CMAKE_PROJECT_INCLUDE_BEFORE` and
`CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE` variables.

Fixes: #19854
2019-10-18 14:44:24 -04:00
Daan De Meyer
8065a686dd Initialize CMAKE_EXPORT_COMPILE_COMMANDS from envvar of the same name
Fixes: #18386
2019-10-18 14:37:33 -04:00
Brad King
fdb41a5102 Merge topic 'variable_watch-modernize'
4bedf6c9fa Refactor: Modernize `cmVariableWatchCommand` a little

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3892
2019-10-18 09:02:29 -04:00
Brad King
b34b4c5eac Merge topic 'vs-vctargetspath'
e7d57bc3c3 VS: Propagate CMAKE_VS_GLOBALS into custom targets
45b4b4b930 VS: Propagate CMAKE_VS_GLOBALS into compiler id projects
548e9051a4 VS: Add support to override VCTargetsPath through toolset
99e83d4235 cmake: Teach --build mode to load CMAKE_GENERATOR_TOOLSET

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3817
2019-10-18 09:01:48 -04:00
Brad King
1c84b5c86f Merge topic 'pch-makefile-depends'
797689ab35 PCH: Fix Makefile dependencies to rebuild PCH on header changes
0b10b3ed6b cmMakefileTargetGenerator: Inline WriteObjectBuildFile in only call site

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3928
2019-10-18 08:57:16 -04:00
Brad King
55a0bebdd3 VS: Add support for per-config sources
Since commit 97cc29c766 (VS: Teach generators how to mark per-config
source files, 2017-04-10, v3.9.0-rc1~268^2~2) the VS generators have
known how to generate per-config sources.  We've now converted most
other code paths to support per-config sources, so drop the check
that disallows it.

This leaves only per-config support for precompiled headers and unity
build transformations, but those are optional features that can be
addressed later.

Fixes: #18233
Issue: #19789
2019-10-17 14:05:39 -04:00
Brad King
5417737fac Merge topic 'graphviz'
553658393c Graphviz: added test suite, fixes, enhancements

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: slodki <slodki_dom@poczta.onet.pl>
Merge-request: !3766
2019-10-17 13:54:26 -04:00
Brad King
d61b8921ac Merge topic 'doc-pch-compile-language'
ac75886525 PCH: Document and test COMPILE_LANGUAGE genex for per-language header

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3925
2019-10-17 13:52:49 -04:00
Brad King
ea048ed66c Merge topic 'export-target-lang-name'
0e436c573c install,export: Do not treat language names as target names

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3927
2019-10-17 13:52:00 -04:00
Brad King
6dedb97420 Merge branch 'pch-makefile-depends' into release-3.16
Merge-request: !3928
2019-10-17 10:41:43 -04:00
Brad King
797689ab35 PCH: Fix Makefile dependencies to rebuild PCH on header changes
Teach the Makefile generator to scan the implicit dependencies of PCH
creation.  When a header named by `target_precompile_headers` changes
the corresponding PCH must be rebuilt and all consumers recompiled.

Fixes: #19830
2019-10-17 10:29:31 -04:00
Brad King
7aab792716 Merge branch 'export-target-lang-name' into release-3.16
Merge-request: !3927
2019-10-17 10:23:36 -04:00
Alexander Boczar
45b4b4b930 VS: Propagate CMAKE_VS_GLOBALS into compiler id projects
Issue: #19708
2019-10-17 10:18:52 -04:00
Alex Turbov
4bedf6c9fa Refactor: Modernize cmVariableWatchCommand a little 2019-10-17 09:38:31 -04:00
Craig Scott
409891baf7 FindOpenMP: Allow try_compile() to find omp.h for AppleClang
Fixes: #18098 #18470 #18520
2019-10-17 18:50:05 +11:00
Brad King
0e436c573c install,export: Do not treat language names as target names
When generating `IMPORTED_LINK_INTERFACE_LANGUAGES`, do not treat the
entries as target names.

Fixes: #19846
2019-10-16 12:48:20 -04:00
Brad King
84e14a52ff Merge branch 'doc-pch-compile-language' into release-3.16
Merge-request: !3925
2019-10-16 10:54:11 -04:00
Brad King
ac75886525 PCH: Document and test COMPILE_LANGUAGE genex for per-language header
Fixes: #19839
2019-10-16 10:32:56 -04:00
Alexander Boczar
548e9051a4 VS: Add support to override VCTargetsPath through toolset
Fixes: #19708
2019-10-15 13:28:45 -04:00
Charly Mourglia
89ff3ee779 VS: Add VS_DOTNET_DOCUMENTATION_FILE property
Add a `VS_DOTNET_DOCUMENTATION_FILE` target property to tell VS
generators to add a `DocumentationFile` setting in `.csproj` files.

Fixes: #19784
2019-10-15 11:44:55 -04:00
Brad King
dc164bccc1 Merge topic 'cmake-initial-cache-relative'
c9d73b26b0 cmake: Fix relative path regression in -C

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3912
2019-10-15 11:14:09 -04:00
Brad King
7716be4561 Merge branch 'cmake-initial-cache-relative' into release-3.16
Merge-request: !3912
2019-10-14 16:18:16 -04:00
Peter Waller
c9d73b26b0 cmake: Fix relative path regression in -C
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
2019-10-14 16:17:00 -04:00
Craig Scott
25eef45f16 Merge topic 'feature/CMAKE_MESSAGE_CONTEXT'
7cf79f4419 message: Support logging a context with each message
5bf85e2517 message: Add new CMAKE_MESSAGE_LOG_LEVEL variable
aa59badd6f Tests: Message log level tests must fail on unwanted output
7c579f0a03 Help: Move CMAKE_MESSAGE_INDENT variable to correct section
4b021bd3e9 message: Minor refactor to make code less verbose

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3680
2019-10-13 17:08:44 -04:00
Brad King
04ad7b8571 Merge topic 'objc-c++flags'
806e01d638 Objective-C: Do not treat Objective-C files as C++ files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3904
2019-10-12 10:26:13 -04:00
Alex Turbov
7cf79f4419 message: Support logging a context with each message 2019-10-12 18:21:36 +11:00
Alex Turbov
5bf85e2517 message: Add new CMAKE_MESSAGE_LOG_LEVEL variable 2019-10-12 17:01:15 +11:00
Craig Scott
aa59badd6f Tests: Message log level tests must fail on unwanted output
The previous regular expressions were allowing output from
lower log levels. The tests still pass after these changes but will
now catch regressions (previously they would not have).
2019-10-12 17:01:15 +11:00
Brad King
3709389520 Merge branch 'objc-c++flags' into release-3.16
Merge-request: !3904
2019-10-11 09:24:24 -04:00
Brad King
ae24597202 Merge topic 'intel-19-compile-features'
3fb146cb11 Tests: Update CompileFeatures test for Intel 19 with VS 2015
847e8bc98c Intel: Fix default C++ dialect detection on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3900
2019-10-11 08:34:16 -04:00
Cristian Adam
806e01d638 Objective-C: Do not treat Objective-C files as C++ files
When both C and C++ langauges are enabled, the Objective-C files
should be treated as C files and not as C++ files.
2019-10-11 14:01:48 +02:00
Brad King
3fb146cb11 Tests: Update CompileFeatures test for Intel 19 with VS 2015
Blacklist `cxx_relaxed_constexpr` for this case because the compiler
does not advertise the support in this mode but compiles our example.
2019-10-10 13:14:42 -04:00
Brad King
847e8bc98c Intel: Fix default C++ dialect detection on Windows
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.
2019-10-10 13:14:42 -04:00
Brad King
e3b9d125ef Merge topic 'deprecate-policy-old'
d00bb419ca Add deprecation warnings for policies CMP0069 and below

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3893
2019-10-10 09:27:06 -04:00
Brad King
d00bb419ca Add deprecation warnings for policies CMP0069 and below
The OLD behaviors of all policies are deprecated, but only by
documentation.  Add an explicit deprecation diagnostic for policies
introduced in CMake 3.9 and below to encourage projects to port away
from setting policies to OLD.
2019-10-10 09:26:10 -04:00
Craig Scott
7bbddeb78d CLI: Rename --loglevel to --log-level for naming consistency
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.
2019-10-10 09:20:50 -04:00
Corentin Plouet
553658393c Graphviz: added test suite, fixes, enhancements
* Added a fairly comprehensive test suite
* Separated the graph traversal logic from the Graphviz generation
  code by introducing a new class, cmLinkItemsGraphVisitor{.h,cxx}
* Made the graph traversal logic less ad-hoc by using existing
  methods in the GlobalGenerator; this fixed a few bugs
* Added support for new target types: custom targets, object
  and unknown libraries
* Improved support for ALIAS libraries by showing the alias(es)
  in the graph
* Introduced new flags to control those new libraries (consistent
  with existing flags)
* Updated the documentation
* Removed useless setting to set graph type in dot file
* Improved the node/edge shapes (nicer, more consistent)
* Added a legend to the graph
* Some refactoring and cleanup of the Graphviz generation code
* Added test and fix for issue 19746
2019-10-08 13:45:56 +11:00
Brad King
947b02e2e0 Merge topic 'export-genex-under-prefix'
3ded5b6da8 install,export: Fix export of a genex following $<INSTALL_PREFIX>

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3886
2019-10-07 10:34:50 -04:00
Brad King
9c9e66289a Tests: Enable ConfigSources test on every configuration
Revise the test itself to work in all configurations and verify that
certain sources are only built by whatever configuration is tested.
2019-10-04 10:39:00 -04:00
Brad King
3ded5b6da8 install,export: Fix export of a genex following $<INSTALL_PREFIX>
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
2019-10-04 09:53:22 -04:00
Cristian Adam
38c1f2ab22 PCH: Fix CMake test files indentation 2019-10-03 23:24:21 +02:00
Cristian Adam
1144a4fa47 PCH: Add multi-language PCH generation support
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
2019-10-03 22:58:55 +02:00
Brad King
3247506662 Merge topic 'ctest-hardware-allocation'
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
2019-10-03 14:07:52 -04:00
Brad King
4a68c85073 Merge topic 'FindJava-all-versions'
3d02593986 FindJava: ensure all versions can be found
14ac253af7 FindJava: tests clean-up

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3871
2019-10-03 09:10:50 -04:00
Kyle Edwards
d1f100a415 CTest: Add Json output for PROCESSES property 2019-10-02 09:33:54 -04:00
Kyle Edwards
b741ee820d Tests: Add test for CTest hardware allocation feature 2019-10-02 09:33:54 -04:00
Kyle Edwards
3c8a5aad46 Tests: Write tests for cthwalloc helper tool
This helper tool is sufficiently complex that it warrants having its
own test suite.
2019-10-02 09:33:54 -04:00
Kyle Edwards
2d74e54661 Tests: Write cthwalloc helper tool 2019-10-02 09:33:54 -04:00
Kyle Edwards
aee0964851 CTest: Add bin-packing algorithm
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.
2019-10-02 09:33:54 -04:00
Kyle Edwards
c494b2973a CTest: Add cmCTestHardwareAllocator class 2019-10-02 09:33:54 -04:00
Kyle Edwards
c8f4806943 CTest: Add parser for hardware spec file 2019-10-02 09:33:54 -04:00
Kyle Edwards
bb4a141059 CTest: Add lexer for PROCESSES property 2019-10-02 09:33:54 -04:00
Marc Chevrier
14ac253af7 FindJava: tests clean-up 2019-10-02 14:47:11 +02:00
Brad King
7cccc5b199 Xcode: Restore CMAKE_XCODE_GENERATE_SCHEME for custom targets
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
2019-10-02 08:21:02 -04:00
Brad King
ac9934406d Xcode: Restore CMAKE_XCODE_GENERATE_SCHEME for custom targets
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
2019-10-02 08:17:32 -04:00
Brad King
a1f78a481c Merge topic 'ninja-depend-shared-symlinks'
4891f0f966 Ninja: Ensure shared library version symlinks are created for dependents

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3875
2019-10-02 07:57:25 -04:00
Brad King
d57c1a5b31 Merge topic 'clang-format-normalize-headers-presentation'
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
2019-10-02 07:53:43 -04:00
Brad King
9649c91f83 Merge topic 'pch-compile-pdb'
e6e189e02b PCH: Report error when setting COMPILE_PDB_NAME property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3864
2019-10-02 07:48:55 -04:00
Brad King
c5bec56611 Merge topic 'test-iface-paths'
335236b0cb Tests: Shorten name RunCMake.IfacePaths_{INCLUDE_DIRECTORIES => INCDIRS}

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3873
2019-10-02 07:41:39 -04:00
Brad King
4891f0f966 Ninja: Ensure shared library version symlinks are created for dependents
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
2019-10-01 14:34:03 -04:00
Cristian Adam
e6e189e02b PCH: Report error when setting COMPILE_PDB_NAME property
Reusable precompile headers require specific COMPILE_PDB_NAME property
values. Report error if the user tries to set a different value.
2019-10-01 18:33:40 +02:00
Kitware Robot
ed98209ddc Revise include order using clang-format-6.0
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.
2019-10-01 12:26:36 -04:00
Marc Chevrier
185fe49f29 clang-format: Normalize headers presentation
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
2019-10-01 12:25:48 -04:00
Brad King
335236b0cb Tests: Shorten name RunCMake.IfacePaths_{INCLUDE_DIRECTORIES => INCDIRS}
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.
2019-10-01 10:53:39 -04:00
Brad King
8a15e75fe3 Tests: Cover EXCLUDE_FROM_ALL OFF on sub/sub/tgt in sub/all
Issue: #19753
2019-09-30 10:34:23 -04:00
Brad King
0733a94f64 Ninja,Makefile: Fix subdir "all" with nested EXCLUDE_FROM_ALL subdir
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>
2019-09-30 10:30:28 -04:00
Brad King
8aa5f6ba44 Merge topic 'fix-EXCLUDE_FROM_ALL-subdir-all'
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
2019-09-30 10:27:15 -04:00
Brad King
9b03baee30 Merge topic 'objective-c-cxx'
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
2019-09-30 10:25:19 -04:00
Brad King
c2d1ea58bf Merge topic 'FPHSA-reason-failure-message'
60473cc660 FPHSA: add capability to specify message explaining reason of failure

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3866
2019-09-30 10:22:35 -04:00
Brad King
dce58afd30 Merge branch 'backport-3.15-fix-EXCLUDE_FROM_ALL-subdir-all'
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`.
2019-09-30 09:34:57 -04:00
Brad King
05d7ca14e9 Merge branch 'backport-3.14-fix-EXCLUDE_FROM_ALL-subdir-all' 2019-09-30 09:19:21 -04:00
Brad King
b3b1c7bf3a Restore "all" target in subdirectories marked EXCLUDE_FROM_ALL
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
2019-09-30 09:18:20 -04:00
Steve Wilson
9e66397c28 Languages: Add support for Objective-C++
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>
2019-09-28 15:56:53 +02:00
Steve Wilson
80f120a85f Languages: Add support for Objective-C
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 OBJC as the designator of the language, eg:

project(foo OBJC)

Add various tests for Objective-C language features.  Add
tests to preserve C++ handling of .m and .mm files when
OBJC is not a configured language.

Co-Authored-By: Cristian Adam <cristian.adam@gmail.com>
2019-09-28 15:56:46 +02:00
Brad King
c88cf48bbe Merge topic 'FindBinUtils-ask-compiler'
b2fd479df5 FindBinUtils: Use the compiler to get the path to compiler tools
587ccffe74 Tests: Add symbols to FortranModules static libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex Turbov <i.zaufi@gmail.com>
Merge-request: !3854
2019-09-27 14:56:53 -04:00
Marc Chevrier
60473cc660 FPHSA: add capability to specify message explaining reason of failure
Fixes: #19660
2019-09-27 16:04:54 +02:00
Brad King
cf01d3d2bd Tests: Clarify target names in RunCMake.add_subdirectory ExcludeFromAll
Rename the `baz` target to `subinc` to clarify that its role is to be
included even though it is in an otherwise excluded subdirectory.
2019-09-26 14:58:26 -04:00
Brad King
21442d72a4 Tests: Revise RunCMake.add_subdirectory ExcludeFromAll to avoid globbing
Also simplify the clean step.
2019-09-26 14:57:40 -04:00
Justin Goshi
8b84c046fa fileapi: add some source property backtraces
Support backtraces for COMPILE_DEFINITIONS, COMPILE_OPTIONS, and
INCLUDE_DIRECTORIES source properties.
2019-09-26 10:56:52 -04:00
Brad King
b4087a2353 Merge topic 'vs-ReferenceOutputAssembly-conditions'
4dc8c153ec Tests: Teach VSWinStorePhone to verify the content of generated xap
481070a78a Tests: Teach VSWinStorePhone to verify the content of generated appx/msix
acdb326610 VS: Do not reference output assemblies of targets with no output

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3778
2019-09-26 10:43:27 -04:00
Brad King
587ccffe74 Tests: Add symbols to FortranModules static libraries
When GNU `ar` creates an archive with no symbols it has only an
empty header but no string table.  On Solaris the OS-provided `ld`
fails in this case:

    ld: elf error: file libfoo.a: elf_getarsym

Update our test to actually provide symbols from its archives.
2019-09-26 10:31:44 -04:00
Brad King
3cb12895f3 Merge topic 'pch-export'
c54448e185 PCH: Propagate INTERFACE_PRECOMPILE_HEADERS in install(EXPORT)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Cristian Adam <cristian.adam@gmail.com>
Merge-request: !3862
2019-09-26 09:51:55 -04:00
Brad King
a29b8d285e Merge topic 'fix-vsmacro-access-violation'
7847fef510 VS: Fix access violation when calling Visual Studio macro

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3853
2019-09-26 09:49:56 -04:00
Brad King
df982c4e18 Merge topic 'add-custom-target-byproduct-checks'
fd3a394614 add_custom_command: Format files in error message in a single line
a1cc6b4447 add_custom_target: Add output checks for custom target byproducts
cbb861ade8 add_custom_command: Add tests for custom command output checks

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3850
2019-09-26 09:47:51 -04:00
Kyle Edwards
5fa625d611 Merge topic 'cpack-DEB-use-CPACK_PACKAGE_DESCRIPTION_FILE'
33c7ea513d CPackDeb: Use `CPACK_PACKAGE_DESCRIPTION_FILE`
53be31e19c Refactor: Use `list` commands instead of old-way string ops
b2c67a7703 Style: Remove spaces after command call and `(`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3541
2019-09-26 09:23:31 -04:00
Vedran Vujinovic
4dc8c153ec Tests: Teach VSWinStorePhone to verify the content of generated xap
XAP format was used as app package format on Windows Phone 7 and 8.
It was replaced by APPX format since Windows Phone 8.1.
2019-09-25 20:57:47 +02:00
Brad King
c54448e185 PCH: Propagate INTERFACE_PRECOMPILE_HEADERS in install(EXPORT)
This was accidentally left out of commit 0467a2f91b (PCH: add
PRECOMPILE_HEADERS to special properties, 2015-03-12).  Also add a test
case for `install(EXPORT)` and `export()` propagation of precompiled
headers.

Fixes: #19741
2019-09-25 12:06:28 -04:00
Brad King
0cfbd85e7b Tests: Teach RunCMake to support a custom working directory 2019-09-24 14:10:34 -04:00
Daniel Eiband
7847fef510 VS: Fix access violation when calling Visual Studio macro
Fixes: #19730
2019-09-24 17:44:28 +02:00
Vedran Vujinovic
481070a78a Tests: Teach VSWinStorePhone to verify the content of generated appx/msix
Add a test to verify the content of generated UWP app package - appx/msix.
MSIX format was introduced Visual Studio 2017 version 15.9.0 and
Windows SDK version 17763.
2019-09-24 10:12:43 -04:00
Daniel Eiband
fd3a394614 add_custom_command: Format files in error message in a single line 2019-09-23 23:39:07 +02:00
Daniel Eiband
a1cc6b4447 add_custom_target: Add output checks for custom target byproducts
Use the output checks for byproducts of add_custom_command also for byproducts
of add_custom_target.
2019-09-23 22:18:36 +02:00
Daniel Eiband
cbb861ade8 add_custom_command: Add tests for custom command output checks 2019-09-23 22:15:31 +02:00
Cristian Adam
acb9511044 Precompile headers: Treat headers as relative to current source directory
Teach `target_precompile_headers` to treat relative paths the
same way as `target_sources`.

Fixes: #19733
2019-09-23 11:13:13 -04:00
Alex Turbov
33c7ea513d CPackDeb: Use CPACK_PACKAGE_DESCRIPTION_FILE
Also, handle per-component description nicely.
2019-09-22 00:31:24 +02:00
Brad King
ebb9346490 Merge topic 'cmake-system-headers'
4a08690ccf cmstd: Extend header <cm/iterator>
c688b401d3 cmstd: Modernize CMake system headers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3776
2019-09-20 10:38:43 -04:00
Brad King
541e681da2 Merge topic 'split-custom-command-creation'
0e1faa28cb cmMakefile: Separate custom command setup from actual creation
56c204e8eb cmMakefile: Refactor AddCustomCommandOldStyle to be delay friendly
3061dc6ac9 add_custom_command: Add tests for rejecting literal quotes in commands
e893ab94ba cmMakefile: Validate command line for all custom commands
f1e846fdde cmMakefile: Extract custom command validation method
4926ab2454 cmMakefile: Create all generated byproducts as known sources

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3822
2019-09-20 10:24:32 -04:00
Brad King
4ade1b00c5 Merge topic 'fileapiLinkPathAndLinkDirBacktraces'
4d6334824d fileapi: add backtraces for LINK_PATH and LINK_DIRECTORIES
5bd65dff7a cmLocalGenerator: Add OutputLinkLibraries overload with backtraces
5d39e792ae cmGeneratorTarget: Store backtrace for target LINK_DIRECTORIES property
7da17ef797 cmLinkLineComputer: Add ComputeLinkLibraries overload with backtraces
d4d0dd0f6a cmLinkLineComputer: Add ComputeLinkLibs overload with backtraces
0ac9dcb807 cmLinkLineComputer: Add ComputeLinkPath overload with backtraces
0c6468178a cmComputeLinkInformation: Add GetDirectoriesWithBacktraces
a209b31d0d cmComputeLinkInformation: Add AppendValues with backtraces

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3805
2019-09-20 10:22:01 -04:00
Brad King
7cf36407be Merge topic 'update-kwsys'
c578caa68b Tests: Decouple Plugin test from KWSys
56879273dc Merge branch 'upstream-KWSys' into update-kwsys
3327c0402a KWSys 2019-09-18 (c6bc38c1)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3828
2019-09-20 10:12:56 -04:00
Marc Chevrier
c688b401d3 cmstd: Modernize CMake system headers
Provide a standardized way to handle the C++ "standard" headers
customized to be used with current CMake C++ standard constraints.
Offer under directory `cm` headers which can be used as direct
replacements of the standard ones.  For example:

    #include <cm/string_view>

can be used safely for CMake development in place of the `<string_view>`
standard header.

Fixes: #19491
2019-09-20 10:01:37 -04:00
Brad King
9c31d83aa2 Merge topic 'autogen_path_prefix'
cc0900d9cd Help: Add release notes for AUTOMOC_PATH_PREFIX
692d8e3492 Help: Add documentation for AUTOMOC_PATH_PREFIX
1933ade9f1 Tests: At QtAutogen.MocIncludeSymlink test
706d9738a6 Tests: Merge QtAutogen.MocIncludeStrict and MocIncludeRelaxed
d018d27c10 Autogen: Add moc path prefix generation (AUTOMOC_PATH_PREFIX)
77983c8147 Autogen: Add IsHeader flag to SourceFileT class
f9e5441eb4 Autogen: Abbreviate file paths in messages
51676cf655 Autogen: Split JobEvalCacheT job into separate moc and uic jobs
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3818
2019-09-19 11:19:52 -04:00
Brad King
c578caa68b Tests: Decouple Plugin test from KWSys
KWSys now requires C++11 but we want this test to be able to run as
C++98.  Copy the KWSys DynamicLoader implementation (with original
notice headers and license reference) and update it to work alone.
2019-09-19 10:42:51 -04:00
Brad King
98d53ba1d6 Merge topic 'FindGnuTLS-target'
44e8b8f1f2 FindGnuTLS: add target GnuTLS::GnuTLS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3825
2019-09-19 09:32:02 -04:00
Justin Goshi
4d6334824d fileapi: add backtraces for LINK_PATH and LINK_DIRECTORIES 2019-09-18 14:00:39 -04:00
David Callu
44e8b8f1f2 FindGnuTLS: add target GnuTLS::GnuTLS
Also add a test case for the module.
2019-09-18 12:03:53 -04:00
Sebastian Holtermann
1933ade9f1 Tests: At QtAutogen.MocIncludeSymlink test 2019-09-18 11:48:23 -04:00
Sebastian Holtermann
706d9738a6 Tests: Merge QtAutogen.MocIncludeStrict and MocIncludeRelaxed 2019-09-18 11:48:10 -04:00
Brad King
a981a9a745 Merge topic 'shared-pch'
729d997f10 Precompile Headers: Add REUSE_FROM signature

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Rickard Englund <rickard@r-englund.com>
Acked-by: Viktor Kirilov <vik.kirilov@gmail.com>
Merge-request: !3762
2019-09-18 11:34:00 -04:00
Daniel Eiband
3061dc6ac9 add_custom_command: Add tests for rejecting literal quotes in commands 2019-09-17 22:52:32 +02:00
Brad King
e6ddb57479 Merge topic 'byproduct-collapse-full-path'
3b409643bd Byproducts: Add test for collapsing of full paths in byproducts
445ff5ccdf Byproducts: collapse full paths of custom target byproducts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3804
2019-09-17 11:12:08 -04:00
Brad King
42a20ef79b Merge topic 'allow-pkg-config-missing-libraries'
28cb86d796 FindPkgConfig: Allow libraries that can't be found with their full path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Rolf Eike Beer <eike@sf-mail.de>
Merge-request: !3781
2019-09-17 11:08:43 -04:00
Cristian Adam
729d997f10 Precompile Headers: Add REUSE_FROM signature
Add the ability to share precompiled headers artifacts between
targets.

Fixes: #19659
2019-09-17 11:58:38 +02:00
Chuck Atkins
0301a76bb4 FindEnvMod: Remove unreliable test case
There's no way to know that loading an arbitrary module doesn't pull in
extra dependent modules so the test case asserting that exactly one module
was loaded isn't valid.
2019-09-16 13:10:40 -04:00
Chuck Atkins
28cb86d796 FindPkgConfig: Allow libraries that can't be found with their full path
pkg-config's .pc files can sometimes provide libraries that are visible to
the linker but not present in CMake's known search paths.  In the case
where CMake can find some, but not all of the library dependencies
provided in a .pc file, this allows them to be passed through as "-lfoo"
when the full path can't be found.

This also removes the test failure cases that occured because of this
scenario and adjsuts the remaining tests to account for not-found
libraries
2019-09-16 13:02:08 -04:00
Brad King
1ac4e0ef1b Merge topic 'tidy-deprecated-headers'
f30523d090 clang-tidy: modernize-deprecated-headers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3792
2019-09-16 10:25:53 -04:00
Brad King
1df2f8803b Merge topic 'add_custom_command-genex-slash'
c16641607f add_custom_command: Delay slash conversion until after genex evaluation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3791
2019-09-16 10:17:22 -04:00
Regina Pfeifer
f30523d090 clang-tidy: modernize-deprecated-headers 2019-09-16 10:11:13 -04:00
Daniel Eiband
3b409643bd Byproducts: Add test for collapsing of full paths in byproducts
Add test for collapsing of full paths in byproducts and additional tests for
the GENERATED source file properties set by add_custom_command and
add_custom_target with relative paths.
2019-09-16 10:24:24 +02:00
Sebastian Lipponer
c16641607f add_custom_command: Delay slash conversion until after genex evaluation
Generator expressions may contain or produce backslashes.

Fixes: #19553
2019-09-13 10:56:26 -04:00
Daniel Eiband
482d858500 Depend: Add test for target-level dependencies via byproducts
Add test for target-level dependency of custom target to POST_BUILD event via
byproduct.  Remove explicit dependencies in test which are no longe required
due to introduced dependencies on build events via byproducts.

Issue: #19005
2019-09-12 16:03:12 +02:00
Brad King
1a1508c8b8 Merge topic 'modernize-use-auto'
d25a5a7ec9 clang-tidy: modernize-use-auto

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3783
2019-09-12 09:15:38 -04:00
Brad King
46629d6a49 Merge topic 'fileapiAddMoreBacktraces'
30006e199b fileapi: add backtraces for compile/link options
291c83f063 cmLocalGenerator: Add GetTargetCompileFlags overload with backtraces
8e973b8e8d cmLocalGenerator: Add GetTargetFlags overload with backtraces
4d5bbb7704 cmLocalGenerator: Add GetStaticLibraryFlags overload with backtraces
1f6a436bf4 cmLocalGenerator: Add AddCompileOptions overload with backtraces
5355a60fd0 cmLocalGenerator: Add AppendCompileOptions overload with backtraces
a20d2c85d0 cmLocalGenerator: Add AppendFlags overload with backtraces
b13207910e cmLocalGenerator: Clarify AddCompileOptions filter logic
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3775
2019-09-11 11:38:58 -04:00
Regina Pfeifer
d25a5a7ec9 clang-tidy: modernize-use-auto
Set the MinTypeNameLength option to an impossibly high value in order
to limit the diagnostics to iterators.  Leave new expressions and cast
expressions for later.
2019-09-10 22:21:41 +02:00
Brad King
bbf48c494a Merge topic 'windows-auto-export-incremental-build'
ff5028c531 Windows: Prevent auto exports to be regenerated on every build

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3750
2019-09-10 10:54:55 -04:00
Justin Goshi
30006e199b fileapi: add backtraces for compile/link options 2019-09-10 10:45:41 -04:00
Brad King
8588cdf3a0 clang-tidy: Fix bugprone-exception-escape diagnostic in test code 2019-09-09 13:51:23 -04:00
Daniel Eiband
ff5028c531 Windows: Prevent auto exports to be regenerated on every build
Check modified time stamps of input files against an existing exports file
before generating the auto exports.

Fixes: #19650
2019-09-09 15:43:15 +02:00
Brad King
922482dd3a Merge topic 'cuda_resolve_device_symbols_on_static_lib_collect_deps_properly'
2d7bb13da7 CUDA: static lib device linking computes required static libs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3748
2019-09-09 09:41:32 -04:00
Craig Scott
a2d4968ab9 Merge topic 'doxygen-add-docs-USE_STAMP_FILE'
611eb26b9d FindDoxygen: add USE_STAMP_FILE option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3238
2019-09-05 20:03:55 -04:00
Nikita Sirgienko
611eb26b9d FindDoxygen: add USE_STAMP_FILE option
The new option enables the behavior of only building if sources change.
2019-09-06 09:12:09 +10:00
Robert Maynard
2d7bb13da7 CUDA: static lib device linking computes required static libs
Previously the CMake didn't compute the required set of libraries
needed to properly device link a static library when
CUDA_RESOLVE_DEVICE_SYMBOLS was enabled.
2019-09-05 10:51:02 -04:00
Brad King
ac4d6d4a9d Merge topic 'unity-build'
7786a05c70 Unity build: Add XCode support
1353802af3 Unity build: Add unit tests
8dfeb5d278 Unity build: Add support for Visual Studio generator
7114c141e2 Unity build: Add support for Ninja and Makefile generators

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Stanislav Ershov <digital.stream.of.mind@gmail.com>
Acked-by: Evgeniy Dushistov <dushistov@mail.ru>
Acked-by: Viktor Kirilov <vik.kirilov@gmail.com>
Merge-request: !3611
2019-09-05 08:36:06 -04:00
Brad King
09032f09f8 Merge topic 'pch-fix-vs-test'
383bf3b5e7 Precompile Headers: Fix Visual Studio 10 unit test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3770
2019-09-04 08:53:59 -04:00
Brad King
7b50b05aa9 Merge topic 'tidy-use-using'
62e5f72289 clang-tidy: Replace typedef with using

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3731
2019-09-04 08:52:45 -04:00
Brad King
fb9da8e6f4 Ninja: Pass preprocessor definitions when compiling with Intel Fortran
The Intel Fortran compiler supports an extension that allows conditional
compilation based on preprocessor definitions specified on the command
line even when not preprocessing.

Fixes: #19664
2019-09-03 14:20:26 -04:00
Regina Pfeifer
62e5f72289 clang-tidy: Replace typedef with using 2019-09-03 13:21:26 -04:00
Brad King
de0a2354fc IWYU: Add missing cstddef includes for size_t and nullptr_t
The IWYU tool we use for CI now diagnoses these.
2019-09-03 11:46:52 -04:00
Cristian Adam
383bf3b5e7 Precompile Headers: Fix Visual Studio 10 unit test
The unit test is more roboust, problems like c: vs C:
or having relative paths of cmake_pch.cxx instead of absolute
paths.
2019-09-03 15:50:42 +02:00
Brad King
72b7629956 Merge topic 'FindPython-specify-artifacts-directly'
06d9e67fbd FindPython: Add capability to specify directly artifacts
cea2010b5c FindPython: Enhance python cache variables management.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3690
2019-09-03 09:49:00 -04:00
Brad King
aa3465fcd2 Merge topic 'xcode11-bundles'
e29a92f525 Xcode: Make BundleTests compatible with Xcode 11

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3767
2019-09-03 09:43:32 -04:00
Brad King
4684e64c84 Merge topic 'clang-ipo-support'
dca9c33abc Tests: Remove old IPO test
c856d4556b bindexplib: supporting llvm bitcode formats using llvm-nm
079b8e2916 Clang: prefer lld-link over link.exe
6e3655db2c Clang: add LTO support for GNU-command line clang on windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3527
2019-09-03 09:39:03 -04:00
Brad King
cee20ad537 Merge topic 'vs-cuda-custom-dir'
25f29b9741 cuda: Adapted tests to work with modified cuda toolset
ee86770a3f cuda: Added docs for extended cuda toolset
0ad180d712 cuda: Extend cuda compiler detection to work with custom cuda path
55b0532128 cuda: Extend vs10 target generator to use custom cuda path
df0247a371 cuda: Extend toolset argument to accept path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3713
2019-09-03 09:34:46 -04:00
Brad King
d8e3237611 Merge topic 'FindPkgConfig-module-name'
fe68387695 FindPkgConfig: return the module found by pkg_search_module

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3749
2019-09-03 09:33:02 -04:00
Brad King
2e6effd2e0 Merge topic 'cpack-install-multiple-configurations'
da5ac4bb60 cpack: Add `CPACK_INSTALL_CMAKE_CONFIGURATIONS` variable
d4e6b2ae25 Refactor: Use `unique_ptr` instead of raw pointer

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3533
2019-09-03 09:30:15 -04:00
Brad King
ea63df139e Merge topic 'FindBoost-1.71'
7828577065 FindBoost: Add support for Boost 1.71
cf29fa18c8 FindBoost: Unwrap compatibility INTERFACE targets for legacy variables
d7df3cd73f FindBoost: Remove incorrect 1.70 timer dependency
8ff43de1a5 FindBoost: Simplify conditional block for last known version

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Dennis Klein <d.klein@gsi.de>
Merge-request: !3763
2019-09-03 09:23:48 -04:00
Marc Chevrier
06d9e67fbd FindPython: Add capability to specify directly artifacts
Fixes: #19492
2019-09-02 17:20:53 +02:00
Gregor Jasny
e29a92f525 Xcode: Make BundleTests compatible with Xcode 11 2019-09-01 10:43:26 +02:00
Brad King
3b8fa496e7 Merge branch 'FindBoost-1.71' into release-3.15
Merge-request: !3763
2019-08-30 14:54:30 -04:00
Brad King
cf29fa18c8 FindBoost: Unwrap compatibility INTERFACE targets for legacy variables
Since commit 0dd6772a89 (FindBoost: Add legacy variables and targets for
compatibility, 2019-06-14, v3.15.0-rc2~3^2~1) we extract information
from imported targets provided by upstream `BoostConfig.cmake` files.
However, upstream Boost 1.71 provides some imported targets only for
compatibility.  They are just INTERFACE libraries that wrap around the
real target named by `INTERFACE_LINK_LIBRARIES`.  Unwrap this layer so
we can extract the real imported location.

Fixes: #19656
2019-08-30 14:51:03 -04:00
Cristian Adam
1353802af3 Unity build: Add unit tests 2019-08-30 20:39:32 +02:00
Zsolt Parragi
dca9c33abc Tests: Remove old IPO test
This test didn't really result in IPO compilation, there are other
better tests for this.
2019-08-30 11:31:06 -04:00
Zsolt Parragi
c856d4556b bindexplib: supporting llvm bitcode formats using llvm-nm 2019-08-30 11:30:38 -04:00
Alex Turbov
da5ac4bb60 cpack: Add CPACK_INSTALL_CMAKE_CONFIGURATIONS variable
For the multi-configuration generators one can specify the list
of configurations to include in the package.

E.g. having a project, where debug libraries have a suffix to
distinct them from the release builds, one can build the package
containing both `Debug` and `Release` binaries.
2019-08-30 11:02:43 -04:00
Brad King
2d01dcab29 Merge topic 'rel-nightly-test'
2c71208a78 Tests: Fix nightly binary tests to fail on error

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3755
2019-08-30 10:43:09 -04:00
Brad King
a38965db9a Merge topic 'remove_directory-symlink'
e6c9a8bac3 cmake: Teach -E remove_directory to remove directory symlinks

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3738
2019-08-30 10:38:25 -04:00
Jon Chronopoulos
e6c9a8bac3 cmake: Teach -E remove_directory to remove directory symlinks
If the argument to `remove_directory` is a symlink to a directory,
remove the symlink instead.

Issue: #19533
2019-08-30 10:37:30 -04:00
Benjamin Wozniak
25f29b9741 cuda: Adapted tests to work with modified cuda toolset
- cuda version is only recognized if it contains no other characters
  than "0123456789."
- cuda path is only tested with dummy value . Otherwise a cuda toolkit
  must be copied to the integration test machine
2019-08-30 08:14:01 +02:00
Christophe Giboudeaux
fe68387695 FindPkgConfig: return the module found by pkg_search_module
When running `pkg_search_module`, it may be useful to get the matching
module name in order to run `pkg_get_variable`.

`pkg_search_module` now defines `<prefix>_MODULE_NAME` which contains
the first matching module name.

Fixes: #19648
2019-08-29 21:50:49 +02:00
Brad King
2c71208a78 Tests: Fix nightly binary tests to fail on error
We generate a small shell script to drive the steps.  Previously a
failure in the `release_cmake.cmake` script was not diagnosed and hidden
from the script exit code by the following upload step.  Tell the shell
to terminate with failure on the first command that fails.
2019-08-29 14:39:05 -04:00
Brad King
ee945a590b Merge topic 'CMakeParseImplicitLinkInfo-comma-separated'
b5f20da94d CMakeParseImplicitLinkInfo supports comma separated link lines
2200bc068b Introduce a ParseImplicitLinkInfo test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3730
2019-08-29 09:40:12 -04:00
Brad King
fa36e2151d Merge topic 'precompile-headers'
8da78d4efe Precompile headers: Update documentation
5772930164 Precompile headers: Add unit tests
519606704e Precompile headers: Add support for Visual Studio generators
28be170fbc Precompile headers: Add support for Xcode generator
b8626261e9 Precompile headers: Add methods to generate PCH sources
375d01c680 PCH: add example/test
9b6797e71d PCH: add target_precompile_headers command
0467a2f91b PCH: add PRECOMPILE_HEADERS to special properties

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Daniel Pfeifer <daniel@pfeifer-mail.de>
Acked-by: Ivan171 <heavenandhell171@gmail.com>
Acked-by: Stanislav Ershov <digital.stream.of.mind@gmail.com>
Acked-by: Steve Mokris <smokris@softpixel.com>
Acked-by: Evgeniy Dushistov <dushistov@mail.ru>
Acked-by: Danila Malyutin <flashmozzg@gmail.com>
Acked-by: Viktor Kirilov <vik.kirilov@gmail.com>
Acked-by: Lucas Zhao <zhaopf6@163.com>
Merge-request: !3553
2019-08-29 09:38:21 -04:00
Brad King
4929453504 Merge topic 'docker-rel-linux'
689fdbfc61 Utilities/Release: Drop linux64 script in favor of docker build
2d7cfd30ac Utilities/Release: Drop source archive generation in scripts
facc240a45 Utilities/Release: Add docker specs to build and test Linux binaries
bf832ccf01 Utilities/Release: Add README.rst describing directory content
ab153f17bf Utilities/Release: Drop machine-specific README
ed294c1664 Add option to skip CMake tests that need network access
4b8a864d52 Add option to test CMake itself against its hosting CMake

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Gregor Jasny <gjasny@googlemail.com>
Merge-request: !3727
2019-08-29 09:32:13 -04:00
Brad King
31c356e366 Merge topic 'find-no-name'
84e33e6da4 Merge branch 'backport-find-no-name' into find-no-name
4c8760c9fb find_path: Fix crash on empty old-style list of names

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3751
2019-08-29 09:25:13 -04:00
Brad King
689fdbfc61 Utilities/Release: Drop linux64 script in favor of docker build
Drop also drop the CMakeNightlyLinux64 test that uses the script.
2019-08-28 13:20:36 -04:00
Brad King
3e93b2fa66 Merge topic 'vs-ConfigurationType-genex'
8909a450a6 VS: Add support for generator expressions to VS_CONFIGURATION_TYPE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3746
2019-08-28 11:53:12 -04:00
Brad King
ffa1fa20e6 Merge topic 'sf-LANGUAGE-prop'
41ba3e28e6 Tests: Collect SourceFileProperty tests
a40744c81a cmSourceFile: Move LANGUAGE to GetPropertyForUser
8cb3cffa42 cmSourceFile: Rename non-const GetLanguage

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3744
2019-08-28 11:52:04 -04:00
Cristian Adam
5772930164 Precompile headers: Add unit tests 2019-08-28 11:47:51 -04:00
Brad King
aeeccc3b15 Merge branch 'backport-find-no-name' into release-3.15
Merge-request: !3751
2019-08-28 11:28:59 -04:00
Brad King
84e33e6da4 Merge branch 'backport-find-no-name' into find-no-name 2019-08-28 11:19:39 -04:00
Brad King
4c8760c9fb find_path: Fix crash on empty old-style list of names
Fixes: #19651
2019-08-28 11:18:53 -04:00
Robert Maynard
b5f20da94d CMakeParseImplicitLinkInfo supports comma separated link lines
It is currently presumed that the linker will generate
a space separated line. This is not the case for some
compilers such as IBM XL where it can output space or
comma separated. This is particularly apparent when IBM XL
is used as the host compiler for CUDA as it generates a comma
separated link line.
2019-08-28 10:39:53 -04:00
Robert Maynard
2200bc068b Introduce a ParseImplicitLinkInfo test
By sharing the information used by ParseImplicitIncludeInfo we can
also verify the parsing of implicit link info such as directories.
2019-08-28 10:39:53 -04:00
Tushar Maheshwari
41ba3e28e6 Tests: Collect SourceFileProperty tests
- Move the related test from COnly to SourceFileProperty
- Cover `get_source_file_property` and `get_property(... SOURCE ...)`
2019-08-27 22:28:34 +05:30
Tushar Maheshwari
a40744c81a cmSourceFile: Move LANGUAGE to GetPropertyForUser
- Remove the special case from cmGetSourceFilePropertyCommand

Tests: check LANGUAGE for source file
- use target_sources to add file
- use get_property to read property value
2019-08-27 21:41:12 +05:30
Brad King
843ab7544e Merge topic 'cmake-initial-cache-dirs'
4ca0526f8a cmake: Pass -S and -B into PreLoad.cmake and -C scripts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3709
2019-08-27 11:23:22 -04:00
Brad King
57fc6c587a Merge topic 'xcode11-compatibility'
3186bb91ed Xcode: Make iOS tests compatible with Xcode 11

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3743
2019-08-27 11:00:53 -04:00
Peter Waller
4ca0526f8a cmake: Pass -S and -B into PreLoad.cmake and -C scripts
Before this, it was not possible to see what the source or build directories
were set to on the command line.

Fixes: #19619
2019-08-27 10:51:40 -04:00
Brad King
2a2c4cc722 Merge topic 'ninja_additional_clean_files_custom_target'
d040f3f1ee Tests: Extend MakeClean test to test various target types
3ed8cffe73 Ninja: Add support for ADDITIONAL_CLEAN_FILES in custom targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3739
2019-08-27 10:16:05 -04:00
Brad King
b0566f62eb Merge branch 'ninja_additional_clean_files_custom_target' into release-3.15
Merge-request: !3739
2019-08-27 10:11:06 -04:00
Daniel Pfeifer
375d01c680 PCH: add example/test 2019-08-27 12:50:08 +02:00
Gregor Jasny
3186bb91ed Xcode: Make iOS tests compatible with Xcode 11 2019-08-26 21:08:00 +02:00
Brad King
e7d7cd47ed Merge topic 'group_not_track'
2a71a0390c ctest: rename TRACK to GROUP

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Zack Galbreath <zack.galbreath@kitware.com>
Merge-request: !3707
2019-08-26 10:34:55 -04:00
Brad King
7d89c5bf77 Merge topic 'warnings_skip_color'
2079267959 ctest_build: ignore ANSI color

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3702
2019-08-26 10:33:08 -04:00
Brad King
f5a7ae0c4b Merge topic 'optional'
197c5e12ad Source: Add cm::optional
170fcd715f Extend C++17 feature checks to require std::optional

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sebastian Holtermann <sebholt@web.de>
Merge-request: !3644
2019-08-26 10:31:15 -04:00
Sebastian Holtermann
d040f3f1ee Tests: Extend MakeClean test to test various target types
This extends the MakeClean test to test the target property
`ADDITIONAL_CLEAN_FILES` on executable, library and custom targets.
2019-08-26 09:31:03 -04:00
Daniel Eiband
8909a450a6 VS: Add support for generator expressions to VS_CONFIGURATION_TYPE
Generator expressions in target property VS_CONFIGURATION_TYPE might be used to
set the ConfigurationType to Utility for certain configurations to not build
the target while still linking to the target in other configurations.

Fixes: #19613
2019-08-26 15:22:43 +02:00
Brad King
ed294c1664 Add option to skip CMake tests that need network access 2019-08-23 11:12:07 -04:00
Brad King
a6b01b7d45 Merge topic 'ctest-json-REQUIRED_FILES'
5778880d20 CTest: Fix --show-only=json-v1 output with REQUIRED_FILES property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3719
2019-08-23 10:07:32 -04:00
Kyle Edwards
197c5e12ad Source: Add cm::optional 2019-08-23 08:43:35 -04:00
Zack Galbreath
2079267959 ctest_build: ignore ANSI color
Ignore ANSI color when scraping logs for errors and warnings
2019-08-22 15:53:42 -04:00
Brad King
290ab79f61 Merge branch 'ctest-json-REQUIRED_FILES' into release-3.15
Merge-request: !3719
2019-08-22 15:09:49 -04:00
Brad King
5778880d20 CTest: Fix --show-only=json-v1 output with REQUIRED_FILES property
Fixes: #19629
2019-08-22 15:07:43 -04:00
Zack Galbreath
2a71a0390c ctest: rename TRACK to GROUP
Update command-line options, script variables, and documentation to use
the term "group" instead of "track". The old terms are still available
for now, but they are now undocumented.

This makes our terminology more consistent with CDash. The goal of this
change is to make it more clear to our users how CTest and CDash interact
with each other.
2019-08-22 13:10:18 -04:00
Brad King
28ef108140 Merge topic 'source_group-tests'
bb6e95ca6d source_group: Improved generated filters tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3675
2019-08-21 11:59:38 -04:00
Brad King
b6412b38ee Merge topic 'double-export-error-message-install'
d17580909f cmExportInstallFileGenerator: improve error message
a18100898a cmInstallExportGenerator: add a method for the file destination

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3703
2019-08-21 11:58:27 -04:00
Ben Boeckel
d17580909f cmExportInstallFileGenerator: improve error message
Following commit 49cfd390 (cmExportBuildFileGenerator: improve error
message, 2019-06-26), improve the error message related to installed
export sets by referencing the files which contain the exported target
ambiguously.
2019-08-20 10:15:03 -04:00
Brad King
a0c8405d68 Merge topic 'trace-redirect'
3c94069660 Add --trace-redirect parameter to redirect trace output to a file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3645
2019-08-20 09:20:49 -04:00
Brad King
b80417f0fd Merge topic 'cmake-tutorial'
6f6a32a0f6 Tutorial: Improve Step 9
6a35d630dc Tutorial: Improve Step 8
61d4d990d6 Tutorial: Improve Step 7
a36731c634 Tutorial: Improve Step 6
df9cdf629c Tutorial: Improve Step 5
442c0f0d46 Tutorial: Improve Step 4
bc64401c3d Tutorial: Improve Step 3
49ce4d6ff4 Tutorial: Improve Step 2
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3528
2019-08-20 09:19:22 -04:00
Brad King
8c1d3e3b79 Merge topic 'find_openacc_targets'
f4fc0667ae FindOpenACC: Provide import targets and OpenACC_<lang>_OPTIONS variable
9460501ad7 FindOpenACC: Provide a Fortran snippet that compiles with gfortran

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3670
2019-08-20 09:17:18 -04:00
Robert Maynard
f4fc0667ae FindOpenACC: Provide import targets and OpenACC_<lang>_OPTIONS variable
Previously the FindOpenACC module had issues where the contents of
OpenACC_<lang>_FLAGS could not be used with target_compile_options
when it contained multiple compiler flags.
2019-08-19 15:20:38 -04:00
Brad King
29488892e5 Merge topic 'msvc-runtime-library-flang'
ea0294c281 Flang: Implement MSVC runtime library abstraction

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3674
2019-08-19 14:53:20 -04:00
Betsy McPhail
82332f81bb Tutorial: Improve Step 1
* Update minimum required version to 3.10
* Use VERSION argument to project command rather than separate variables
* Replace `endif(USE_MYMATH)` with  more modern `endif()`
* Simplify the call to 'configure_file()'
* Add comments to tutorial.cxx to use as anchors in documentation
* Remove CMakeLists and TutorialConfig.h.in files that users should
  create. Consequently, remove Step1 from CMake tests.
2019-08-19 11:48:58 -04:00
Kyle Edwards
dcf2beb7de Merge topic 'cmStringAlgorithms_ulong'
935fbe0b04 cmStringAlgorithms: Add cmStrToLong and cmStrToULong

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3681
2019-08-16 14:49:28 -04:00
Mateusz Janek
bb6e95ca6d source_group: Improved generated filters tests 2019-08-16 14:55:47 +02:00
Kyle Edwards
7099d113ae Merge topic 'support_CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS'
8f1d22c2d9 CUDA: Support CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS global variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3636
2019-08-13 09:58:03 -04:00