Commit Graph

42801 Commits

Author SHA1 Message Date
Sebastian Holtermann
5536cec46e Rename cmFileTimeCache::FileTimeCompare to cmFileTimeCache::Compare 2019-03-18 15:09:11 +01:00
Sebastian Holtermann
98d4846953 Rename cmFileTimeCache::FileTimesDiffer to cmFileTimeCache::DifferS 2019-03-18 15:09:11 +01:00
Sebastian Holtermann
a6d75a1ce0 Substitute FileComparison in variable names with FileTimeCache 2019-03-18 15:09:11 +01:00
Sebastian Holtermann
216416219a Rename cmFileTimeComparison to cmFileTimeCache
The name `cmFileTimeCache` reflects the functionality of the class more
appropriately.
2019-03-18 15:09:11 +01:00
Sebastian Holtermann
3160258393 cmFileTimeComparison: Replace anonymous private class with std::map
After the switch to `cmFileTime`, the anonymous private class of
`cmFileTimeComparison` held only a `std::map`.  This moves the
`std::map` to the `cmFileTimeComparison` class itself and removes the
instantiation of an anonymous private class.
2019-03-18 15:09:10 +01:00
Sebastian Holtermann
103aa9e46a cmFileTimeComparison: Use cmFileTime internally
This replaces OS dependent code in `cmFileTimeComparison` with `cmFileTime`
instances that provide the required file time load and comparison operations.

A new public `cmFileTimeComparison::Load` method is introduced that,
for a given file name, updates the `cmFileTimeComparison` cache on demand and
returns a `cmFileTime` instance on success.
2019-03-18 15:09:10 +01:00
Sebastian Holtermann
6f24c4e93f New cmFileTime class
The new cmFileTime class stores the file modification time as an OS independent
nanosecond count.  Its main use is to load and compare file modification times
in nanosecond and second resolution.
2019-03-18 15:09:10 +01:00
Kitware Robot
b06f8c93e5 CMake Nightly Date Stamp 2019-03-18 00:01:06 -04:00
Kitware Robot
283330976f CMake Nightly Date Stamp 2019-03-17 00:01:07 -04:00
Marc Chevrier
0bd2e3aa57 Merge topic 'pkg-config-linker-flags'
b759fa9b8e FindPkgConfig: Set linker flags on imported targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3082
2019-03-16 06:14:00 -04:00
Kitware Robot
49f606f3bb CMake Nightly Date Stamp 2019-03-16 00:01:09 -04:00
Brad King
3261f23870 Merge topic 'export-package-default-off'
9bede5c4ce export: Disable PACKAGE mode user package registry by default

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Lukas Mosimann <lumosimann@gmail.com>
Merge-request: !3041
2019-03-15 10:45:51 -04:00
Brad King
a6d8165dd2 Merge topic 'ninja-dyndep-touchups'
76e6e01c6c cmNinjaTargetGenerator: use a different depfile for preprocessing
414332ff57 cmake_ninja_dyndep: don't duplicate slashes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3093
2019-03-15 10:27:55 -04:00
Brad King
5940d18e49 Merge branch 'release-3.14' 2019-03-15 10:27:06 -04:00
Robert Maynard
9bede5c4ce export: Disable PACKAGE mode user package registry by default
The user package registry populated by the `export()` command causes
side effects outside the build and source directories.  Such effects
should be opt-in rather than op-out.  Introduce a policy to change
default behavior of `export(PACKAGE)` to do nothing.
2019-03-15 10:24:47 -04:00
Brad King
0db702c702 Merge topic 'find_program-windows-share'
00c4ddf75e find_program: Restore leading double slash on Windows network path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3105
2019-03-15 10:21:35 -04:00
Brad King
f739654ddf Merge topic 'FindPython-ensure-correct-architecture-selected'
9a84cb1663 FindPython*: ensure correct architecture is selected.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3103
2019-03-15 10:20:28 -04:00
Brad King
7d77607d10 Merge topic 'vs2019-wow64'
5c50eeaffc VS: Fix x64 host recognition by x86 cmake process

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3102
2019-03-15 10:19:01 -04:00
Brad King
41d796c09b Merge topic 'test-FindGTK2-explicit'
28ae243ca6 Tests: Run FindGTK2 tests only when explicitly enabled

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kyle Edwards <kyle.edwards@kitware.com>
Merge-request: !3100
2019-03-15 10:16:06 -04:00
Brad King
164261910d Merge topic 'cmake-gui-unused-code'
dd8c2f3e57 cmake-gui: Drop code not needed with current required CMake version

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3099
2019-03-15 10:14:52 -04:00
Kitware Robot
2efecea485 CMake Nightly Date Stamp 2019-03-15 00:01:07 -04:00
Brad King
5b6c6c2d80 Merge branch 'find_program-windows-share' into release-3.14
Merge-request: !3105
2019-03-14 14:52:12 -04:00
Brad King
00c4ddf75e find_program: Restore leading double slash on Windows network path
Since commit c76c1ea208 (find_program: Consider CWD only for paths with
separator, 2018-05-31, v3.13.0-rc1~413^2) we accidentally convert the
leading `//` to just `/` on results with Windows network paths.

This was caused by `CollapseCombinedPath` being less robust than
`CollapseFullPath`.  Restore use of the latter but in a way that
preserves the requirement of the above commit to support candidates that
are themselves absolute.

Fixes: #19049
Issue: #19050
2019-03-14 14:46:23 -04:00
Brad King
0e652f2def Merge branch 'FindPython-ensure-correct-architecture-selected' into release-3.14
Merge-request: !3103
2019-03-14 14:01:02 -04:00
Marc Chevrier
9a84cb1663 FindPython*: ensure correct architecture is selected.
Ensure interpreter and libraries architecture matches CMake build
configuration.
Update documentation about interpreter constraints.

Fixes: #19024
2019-03-14 18:53:57 +01:00
Brad King
b5b24158ce Merge branch 'vs2019-wow64' into release-3.14
Merge-request: !3102
2019-03-14 13:24:25 -04:00
Brad King
5c50eeaffc VS: Fix x64 host recognition by x86 cmake process
In commit 57e48f16f2 (VS: Add Visual Studio 16 2019 generator,
2019-01-09, v3.14.0-rc1~150^2) and commit 0fd742a6ff (VS: Teach VS 2019
generator to select host tools matching host arch, 2019-01-28,
v3.14.0-rc1~63^2) we intended to select the `x64` target architecture
and `x64` host tools by default on x64 host machines.  Fix detection
of a x64 host when CMake itself is a 32-bit x86 process.

The KWSys SystemInformation `Is64Bits` member is not set correctly,
which led to this bug.  Pending investigation on the KWSys side,
simply test ourselves via `IsWow64Process`.
2019-03-14 13:19:18 -04:00
Brad King
28ae243ca6 Tests: Run FindGTK2 tests only when explicitly enabled
Do not `find_package(GTK2)` by default, as it gives the impression that
CMake depends on it to build.  We will set `CMake_TEST_FindGTK2` in the
cache of automated builds where GTK2 is expected to work.
2019-03-14 11:17:10 -04:00
Brad King
dd8c2f3e57 cmake-gui: Drop code not needed with current required CMake version 2019-03-14 11:15:34 -04:00
Brad King
32a569e877 Merge topic 'refactor_cmfilecopier'
e2e8f6b132 cmFileCommand: Factor out cmFileCopier and cmFileInstaller

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2664
2019-03-14 11:13:33 -04:00
Brad King
7bc03aa6e2 Merge topic 'string_scopes'
3039fd7a29 cmDependsC: Use faster cmSystemTools::FileTimeCompare
b96c3c74dd cmDependsC: Use auto for long type names
e81b425019 cmDependsC: Remove useless string preallocation artifact
d1a54ee26a cmDepends: Reduce temporary object lifetime with local scopes
ae416a6b5c cmLocalUnixMakefileGenerator3: Use std::unique_ptr instead of new/delete
60a407b01c cmLocalUnixMakefileGenerator3: Pass strings instead of recomputing them
addd1ce402 cmLocalUnixMakefileGenerator3: Move local strings into local brace scopes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Brad King <brad.king@kitware.com>
Merge-request: !3088
2019-03-14 11:12:44 -04:00
Brad King
9915003eae Merge topic 'import-zstd'
1761a9a546 CMake: Enable use of zstd in libarchive
2cf2921749 zstd: Add CMake build system
f92b4b52eb Merge branch 'upstream-zstd' into import-zstd
fbaf65639a zstd 2018-12-27 (470344d3)
9337cbfcca zstd: add script to import zstd from upstream

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Bartosz <gang65@poczta.onet.pl>
Merge-request: !3092
2019-03-14 11:08:43 -04:00
Brad King
101621ee52 Merge topic 'xcodescheme'
40be48f890 XCode: Add scheme option XCODE_SCHEME_DEBUG_AS_ROOT

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3084
2019-03-14 11:07:53 -04:00
Brad King
accbf41da5 Merge topic 'short-commands'
077ab5774c cmake: add short version of '--target <tgt>...' option
071f5e1544 cmake: Reformat '--parallel' and '--verbose' options in help

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3078
2019-03-14 11:06:19 -04:00
Brad King
46ad0f7e9d Merge branch 'release-3.14' 2019-03-14 10:28:16 -04:00
Brad King
bf02d62532 CMake 3.14.0 2019-03-14 09:08:05 -04:00
Kitware Robot
e1af2489fd CMake Nightly Date Stamp 2019-03-14 00:01:08 -04:00
Radek Nadstawny
b759fa9b8e FindPkgConfig: Set linker flags on imported targets 2019-03-13 23:42:44 +01:00
Bryon Bean
e2e8f6b132 cmFileCommand: Factor out cmFileCopier and cmFileInstaller
Split these classes out into their own sources.
2019-03-13 14:06:32 -04:00
Sebastian Holtermann
3039fd7a29 cmDependsC: Use faster cmSystemTools::FileTimeCompare
The file stat caching feature of the local cmFileTimeComparison instance is
unused in the addressed context.  To avoid the allocation and initialization
overhead of cmFileTimeComparison use cmSystemTools::FileTimeCompare instead.
2019-03-13 18:01:03 +01:00
Brad King
1761a9a546 CMake: Enable use of zstd in libarchive
Build zstd as part of CMake or find one on the system.  Modify our
port of libarchive to use the zstd configured for use with CMake.

Issue: #18657
2019-03-13 10:47:21 -04:00
Brad King
2cf2921749 zstd: Add CMake build system
Although the upstream has a CMake build system, it is meant for the
complete package.  Add a simple one to build just the static library
we need within CMake.
2019-03-13 10:47:16 -04:00
Brad King
f92b4b52eb Merge branch 'upstream-zstd' into import-zstd
* upstream-zstd:
  zstd 2018-12-27 (470344d3)
2019-03-13 10:46:32 -04:00
zstd upstream
fbaf65639a zstd 2018-12-27 (470344d3)
Code extracted from:

    https://github.com/facebook/zstd.git

at commit 470344d33e1d52a2ada75d278466da8d4ee2faf6 (v1.3.8).
2019-03-13 10:46:29 -04:00
Brad King
9337cbfcca zstd: add script to import zstd from upstream 2019-03-13 10:46:14 -04:00
Brad King
80b761b924 Merge topic 'update-documentation'
da2e588935 cmake: Upgrade 'cmake -E' commands description

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3089
2019-03-13 10:19:21 -04:00
Brad King
7b81b1c72c Merge topic 'cuda_compiler_generator_expressions'
b53766b205 CUDA: Support compiler id and version generator expressions
b544e34af6 All VersionNode use the same capitalization pattern

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3085
2019-03-13 10:16:25 -04:00
Brad King
40ad7cabc6 Merge topic 'ignore-json-deprecated-warnings'
2c280acdf8 JsonCpp: Ignore deprecation warnings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3091
2019-03-13 10:15:10 -04:00
Brad King
c0f53f743e Merge branch 'release-3.14' 2019-03-13 10:12:53 -04:00
Brad King
61023e0b8f Merge branch 'release-3.13' 2019-03-13 10:12:51 -04:00