Commit Graph

48147 Commits

Author SHA1 Message Date
Craig Scott cb8f7e3aad FindDoxygen: Prevent tests from interfering with each other
When doing something like ctest -j8, the FindDoxygen.SimpleTest
test case would execute multiple doxygen sub-tests that then try
to create/write to the same output directory.
2020-05-16 12:20:36 +10:00
Brad King ec1b3992db Merge branch 'release-3.16' 2020-05-15 11:10:07 -04:00
Brad King 1bdbd4651a Merge branch 'release-3.17' 2020-05-15 10:32:50 -04:00
Brad King ffd41f81c2 Merge topic 'backport-3.16-FindPkgConfig-isystem'
3719ddd3f3 Help: Add 3.16.7 release note for FindPkgConfig '-isystem' fix

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4752
2020-05-15 10:32:49 -04:00
Brad King 4d85ad8c98 Merge topic 'backport-3.16-FindPkgConfig-isystem' into release-3.17
3719ddd3f3 Help: Add 3.16.7 release note for FindPkgConfig '-isystem' fix

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4752
2020-05-15 10:32:49 -04:00
Brad King eb93b50be9 Merge topic 'source_file_scopes'
3d4b70ea64 set_source_files_properties: Allow specification of directory scope

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4661
2020-05-15 09:58:03 -04:00
Brad King 481100ecbc Merge branch 'backport-3.16-FindPkgConfig-isystem' into release-3.16
Merge-request: !4752
2020-05-15 09:48:51 -04:00
Brad King 3719ddd3f3 Help: Add 3.16.7 release note for FindPkgConfig '-isystem' fix
Add a release note for the change in commit 4d446c68d1 (FindPkgConfig:
also handle "-isystem" prefixes for include directories, 2020-04-30).
2020-05-15 09:46:06 -04:00
Brad King e2f61e875f Merge branch 'release-3.17' 2020-05-15 09:44:54 -04:00
Brad King e6175e03c7 Merge branch 'release-3.16' into release-3.17 2020-05-15 09:44:01 -04:00
Brad King 1cc4bc4191 Merge branch 'release-3.16' 2020-05-15 09:16:58 -04:00
Brad King 784e665e1e Merge topic 'objc-env-vars' into release-3.17
13ea190725 Help: Add 3.17.3 release note for Objective C/C++ compiler selection
16bf978e0c Merge branch 'backport-3.16-objc-env-vars' into objc-env-vars
67b9f55d46 Objective C/C++: Honor CC and CXX env vars to select compiler
ab9be6662f Help: Document OBJC and OBJCXX env vars for Objective C/C++ compilers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4746
2020-05-15 09:15:46 -04:00
Brad King 2c2db0fc02 Merge branch 'release-3.17' 2020-05-15 09:15:46 -04:00
Brad King a9559ccba5 Merge topic 'objc-env-vars'
13ea190725 Help: Add 3.17.3 release note for Objective C/C++ compiler selection
16bf978e0c Merge branch 'backport-3.16-objc-env-vars' into objc-env-vars
67b9f55d46 Objective C/C++: Honor CC and CXX env vars to select compiler
ab9be6662f Help: Document OBJC and OBJCXX env vars for Objective C/C++ compilers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4746
2020-05-15 09:15:46 -04:00
Brad King 96b6bafd17 Merge topic 'FindSquish-add_test'
2137384202 FindSquish: Make squish_add_test work with any Squish version

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4648
2020-05-15 09:14:36 -04:00
Kitware Robot 5208b8c853 CMake Nightly Date Stamp 2020-05-15 00:01:17 -04:00
Alexandru Croitor 3d4b70ea64 set_source_files_properties: Allow specification of directory scope
Both set_source_files_properties() and set_property(SOURCE) now accept
two new optional arguments: DIRECTORY and TARGET_DIRECTORY.

The DIRECTORY option takes a list of relative or absolute paths
pointing to processed source directories (add_subdirectory was
already called on them).

These paths specify directory scopes where the source file properties
will be set. Previously the scope was always the currently processed
source directory.

Similarly TARGET_DIRECTORY takes a list of targets, whose source
directories will be used as the list of scopes where to set the
source file properties.

get_property() and get_source_file_property() also get the same
new arguments, except only one value can be specified instead
of a list.

Fixes: #20128
2020-05-14 16:31:22 +02:00
Brad King ae9614a22d Merge topic 'tests-Wstrict-prototypes'
4150a18910 Tests: Fix -Wstrict-prototypes warnings in some C sources

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4744
2020-05-14 08:08:45 -04:00
Brad King 4d9ef146f4 Merge topic 'update-kwsys'
833ae0a63b Merge branch 'upstream-KWSys' into update-kwsys
3674f6a470 KWSys 2020-05-13 (d4da6980)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4743
2020-05-14 08:07:39 -04:00
Brad King 73be779091 Merge topic 'cmake_command_preserve_args'
549599bf32 cmake_command: Preserve arguments to INVOKE function

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4741
2020-05-14 07:54:11 -04:00
Brad King 165da10680 Merge topic 'squish_windows_ext'
c587b8d026 FindSquish: Fix target app name on windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4742
2020-05-14 07:46:59 -04:00
Brad King b1a3131cc6 Merge branch 'backport-3.16-objc-env-vars' into release-3.16 2020-05-14 07:31:32 -04:00
Brad King 13ea190725 Help: Add 3.17.3 release note for Objective C/C++ compiler selection
Port the 3.16.7 release note for 3.17.3 too.
2020-05-14 07:28:46 -04:00
Brad King 16bf978e0c Merge branch 'backport-3.16-objc-env-vars' into objc-env-vars 2020-05-14 07:27:24 -04:00
Brad King 67b9f55d46 Objective C/C++: Honor CC and CXX env vars to select compiler
If the `OBJC` or `OBJCXX` environment variable is not set to specify an
Objective C or C++ compiler, check `CC` or `CXX` too.

Fixes: #20703
2020-05-14 07:17:48 -04:00
Brad King ab9be6662f Help: Document OBJC and OBJCXX env vars for Objective C/C++ compilers 2020-05-14 07:10:06 -04:00
Kitware Robot 1777ee9084 CMake Nightly Date Stamp 2020-05-14 00:01:11 -04:00
Brad King 3a82b3f534 Merge topic 'interface-sources-multi-config'
6c5d4522bc INTERFACE_SOURCES: Fix per-config link libs on multi-config generators
8daa140c6a cmGeneratorTarget: Factor evaluated target prop entries into struct
fcd1a1a920 cmGeneratorTarget: Track when the set of link libs is config-dependent

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4740
2020-05-13 12:14:09 -04:00
Brad King dbc0bc1750 Merge branch 'release-3.17' 2020-05-13 12:12:29 -04:00
Brad King b07bc05961 Merge topic 'fix-cache-args-file-to-dep-list' into release-3.17
0199dd9f1b ExternalProject: expose _ep_cache_args_script to the caller

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4710
2020-05-13 12:12:28 -04:00
Brad King 0d8aec412a Merge topic 'fix-cache-args-file-to-dep-list'
0199dd9f1b ExternalProject: expose _ep_cache_args_script to the caller

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4710
2020-05-13 12:12:28 -04:00
Brad King 4150a18910 Tests: Fix -Wstrict-prototypes warnings in some C sources
Some RunCMake tests fail with this warning due to extra stderr content:

    warning: this old-style function definition is not preceded by a prototype

Convert `foo()` to `foo(void)` in `.c` sources of affected tests.
2020-05-13 08:11:59 -04:00
Brad King 3bb261b0fe Merge topic 'conditional-CMAKE_EXPORT_COMPILE_COMMANDS'
fe19df49d4 Initialize CMAKE_EXPORT_COMPILE_COMMANDS only if not set already

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4738
2020-05-13 07:42:52 -04:00
Brad King 7c4f609eed Merge topic 'FindPython-IronPython-support'
e8ffc60220 FindPython: Add IronPython support on all platforms

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4730
2020-05-13 07:41:45 -04:00
Brad King 833ae0a63b Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2020-05-13 (d4da6980)
2020-05-13 07:08:22 -04:00
KWSys Upstream 3674f6a470 KWSys 2020-05-13 (d4da6980)
Code extracted from:

    https://gitlab.kitware.com/utils/kwsys.git

at commit d4da69800d9103a7d3654f9428386a914ba280f2 (master).

Upstream Shortlog
-----------------

Sean McBride (5):
      c58d4b47 SystemTools: On Windows, strip 'e' from Fopen mode
      cb541c31 Auto-fixed various clang-tidy warnings
      2c179921 Applied clang-tidy modernize-deprecated-headers
      775296c8 Applied clang-tidy bugprone-suspicious-string-compare fixes
      a19f0ac6 Fixed clang -Wstrict-prototypes warning
2020-05-13 07:08:19 -04:00
Frederik Gladhorn 2137384202 FindSquish: Make squish_add_test work with any Squish version
Update the documentation (Squish 4 is from 2010, so people are likely
using something newer) and let squish_add_test call either the v3 or v4
macro based on the detected Squish version.

This cannot break things, since mixing incompatible versions would not
have worked before.
2020-05-13 07:06:34 -04:00
Frederik Gladhorn c587b8d026 FindSquish: Fix target app name on windows
Windows has .exe in the target name, but Squish only uses the name without extension
which makes things a lot easier when running tests on several platforms.

Discovered when coming back to Windows and doing a fresh build and suddenly the
binary to be tested was no longer found due to the name mismatch.
2020-05-13 11:51:27 +02:00
Kitware Robot ad11526dc4 CMake Nightly Date Stamp 2020-05-13 00:01:10 -04:00
Cristian Adam 549599bf32 cmake_command: Preserve arguments to INVOKE function
Fixes: #20630
2020-05-12 22:25:29 +02:00
Brad King 6c5d4522bc INTERFACE_SOURCES: Fix per-config link libs on multi-config generators
In multi-config generators we memoize the computed set of source files
for a target to avoid repeating the computation when the set does not
depend on the configuration.  We already track whether generator
expressions in `SOURCES` or `INTERFACE_SOURCES` reference the
configuration (`$<CONFIG:...>`).  However, we previously forgot to track
whether the set of libraries whose `INTERFACE_SOURCES` are considered
depends on the configuration.  This caused multi-config generators to
use the first configuration's set of sources for all configurations
in cases such as

    target_link_libraries(tgt PRIVATE $<$<CONFIG:Debug>:iface_debug>)

where the `iface_debug` target has `INTERFACE_SOURCES`.

Fix this by also tracking config-dependence of the list of libraries for
evaluation of the list of source files.

Fixes: #20683
2020-05-12 12:44:32 -04:00
Brad King 8daa140c6a cmGeneratorTarget: Factor evaluated target prop entries into struct
This will allow storing more than just the list of entries itself.
2020-05-12 12:37:27 -04:00
Brad King fcd1a1a920 cmGeneratorTarget: Track when the set of link libs is config-dependent
Report in `cmLinkImplementationLibraries` and `cmLinkInterfaceLibraries`
whether the list of libraries depends on a genex referencing the
configuration.  We already track whether a genex references the head
target.
2020-05-12 12:37:13 -04:00
Ben Boeckel 0199dd9f1b ExternalProject: expose _ep_cache_args_script to the caller
This is needed so that the caller can add a dependency on the cache
file.

Fixes: #20668
2020-05-12 10:34:23 -04:00
Brad King fe19df49d4 Initialize CMAKE_EXPORT_COMPILE_COMMANDS only if not set already
Also de-duplicate its initialization code.

Fixes: #16588
2020-05-12 08:08:20 -04:00
Brad King 4dc9552686 Merge topic 'add_unity_mode_examples'
caf5d3f71b Help: Add an example for each UNITY_BUILD_MODE setting

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4733
2020-05-12 07:01:06 -04:00
Brad King 1fb0cb1dd3 Merge topic 'refactor_cmSetPropertiesCommands'
300bf4e94f set_*_properties: simplify and shorten implementations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4728
2020-05-12 07:00:15 -04:00
Tushar Maheshwari 300bf4e94f set_*_properties: simplify and shorten implementations
Optimize argument copies and range traversal.
Inline the single use file static functions.
2020-05-12 06:59:00 -04:00
Brad King 93175df02f Merge branch 'release-3.16' 2020-05-12 06:55:35 -04:00
Brad King 44ae68d976 Merge topic 'vs-pch-compile-opts' into release-3.17
6b2fb4ffd2 VS: Fix using PCH from source with COMPILE_OPTIONS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4734
2020-05-12 06:53:41 -04:00