Commit Graph
28539 Commits
Author SHA1 Message Date
Kitware Robot e32f839338 CMake Nightly Date Stamp 2019-05-25 00:01:11 -04:00
Brad King 4ec2b99941 Merge topic 'selective-tar-extracting-and-listing'
c8e217e0a7 cmake: tar: Allow selective extracting and listing of archives

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3342
2019-05-24 10:43:14 -04:00
Brad King 96189e99e1 Merge topic 'cmAppend'
006229278b Use cmAppend to append ranges to std::vector instances
999516478d cmAlgorithms: Add cmAppend function

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3366
2019-05-24 10:39:01 -04:00
Brad King 96a013d44c Merge topic 'cmTargetMap_definition'
7b4b61a4d3 cmMakefile: Define cmTargetMap type in cmMakefile instead of cmTarget

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3364
2019-05-24 10:37:38 -04:00
Kitware Robot c22693b99d CMake Nightly Date Stamp 2019-05-24 00:01:06 -04:00
Saleem Abdulrasool 9e5457d3b4 Ninja,Swift: correct response file handling
The response file was being written but not used due to the wrong
variable being configured for Swift.  Swift does compile+link in a
single phase and does not use the `<OBJECTS>` placeholder.  Use the
`<SWIFT_SOURCES>` placeholder instead for the response file substitution
which serves the same purpose.
2019-05-23 14:05:37 -07:00
Sebastian Holtermann 006229278b Use cmAppend to append ranges to std::vector instances 2019-05-23 16:19:49 +02:00
Bartosz Kosiorek c8e217e0a7 cmake: tar: Allow selective extracting and listing of archives 2019-05-23 10:08:22 -04:00
Sebastian Holtermann 999516478d cmAlgorithms: Add cmAppend function
The new `cmAppend` function simplifies appending ranges of values to a
`std::vector`.
2019-05-23 15:32:23 +02:00
Brad King f03a80aefd Merge topic 'genex-target-property-lifetime'
5a1af142f1 Genex: Fix value lifetimes in nested TARGET_PROPERTY evaluation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3362
2019-05-23 09:22:37 -04:00
Brad King a4faf7788c Merge topic 'string-error'
e884b1b693 cmSystemTools::Error(): remove const char* overload

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3360
2019-05-23 09:05:47 -04:00
Brad King 4f739a4e47 Merge topic 'compiler-launcher-shell-format'
8ee6584a99 Ninja,Makefile: Fix <LANG>_COMPILER_LAUNCHER shell command syntax

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3361
2019-05-23 09:01:04 -04:00
Brad King 5222400d9f Merge topic 'FindPython-find_strategy'
8517b549f4 FindPython: Add policy to manage lookup stratgey default.
9f205acefe FindPython: Implement lookup strategies.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3354
2019-05-23 08:59:25 -04:00
Brad King cbd1c5b4ab Merge topic 'framework-var'
26ea022c3b Add variable CMAKE_FRAMEWORK

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3347
2019-05-23 08:57:36 -04:00
Brad King 79c6a573f4 Merge topic 'swift-flags'
02c14b7fcd Ninja,Swift: pass along DEFINES/FLAGS/INCLUDES

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3355
2019-05-23 08:55:16 -04:00
Brad King d1a570f18c Merge topic 'cmFileTimes'
5b53cfda24 cmSystemTools: Remove cmSystemToolsFileTime interface
9c576a88d9 Use cmFileTimes instead of cmSystemToolsFileTime interface
4b45a5d5c7 cmFileTimes: New RAII based cmFileTimes class

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3358
2019-05-23 08:53:17 -04:00
Brad King d7e70d01fe Merge topic 'autogen_compiler_features'
71d6a1455e Autogen: Evaluate compiler features for the same exectuable only once

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3359
2019-05-23 08:51:38 -04:00
Sebastian Holtermann 7b4b61a4d3 cmMakefile: Define cmTargetMap type in cmMakefile instead of cmTarget
The `cmTargetMap` type is only used in the context of `cmMakefile`.
Therefore it is the most appropriate place to declare it.

This moves the `cmTarget.h/cmTargets` type definition to
`cmMakefile::cmTargetMap`.
2019-05-23 13:00:33 +02:00
Kitware Robot 22d58e07e5 CMake Nightly Date Stamp 2019-05-23 00:01:09 -04:00
Vitaly Stakhovsky e884b1b693 cmSystemTools::Error(): remove const char* overload 2019-05-22 10:51:06 -04:00
Brad King 8ee6584a99 Ninja,Makefile: Fix <LANG>_COMPILER_LAUNCHER shell command syntax
The first entry in the compiler launcher command argument list is
the command itself and should be converted to the shell's native
command syntax (e.g. backslashes on Windows).

Without this, the `RunCMake.CompilerLauncher` test fails on Windows
when there are *no* spaces in the path to `cmake.exe`.
2019-05-22 10:47:15 -04:00
Brad King 8ed6efbbd3 Merge topic 'default-generator-env'
d0f0ba0f7a Tests: Add environment generator tests
a48ce8f4bf Help: Add documentation for default generator environment variables
083cf7e8a2 cmake: Allow default generator to be set by environment variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3218
2019-05-22 10:32:43 -04:00
Brad King fc4cbbc2a5 Merge topic 'remove_unneeded_device_link_calls'
81b4d10d8f CUDA: More exhaustive checks to determine when to do device linking
3205c7c950 cmNinjaLinkLineDeviceComputer now lives in the correct source file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3320
2019-05-22 10:30:00 -04:00
Brad King c024e44abe Merge topic 'find-package-prefer-config'
26a99da206 find_package: Add option to prefer Config mode
c365243a3a find_package: Factor out module and config find_package methods

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ruslan Baratov <ruslan_baratov@yahoo.com>
Merge-request: !3339
2019-05-22 10:28:59 -04:00
Brad King aefd424b6b Merge topic 'swift-debug-variant'
62381effba Ninja,Swift: reuse `SWIFT_MODULE_NAME` for `SWIFT_MODULE`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3343
2019-05-22 10:28:00 -04:00
Brad King f83f29dbaa Merge topic 'vs-ApplicationTypeRevision'
9c07cefee5 VS: Fix ApplicationTypeRevision in builtin check projects
639e14def6 VS: Factor out helper to compute ApplicationTypeRevision

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3350
2019-05-22 10:27:01 -04:00
Brad King 021c61408c Merge topic 'ninja-lib-symlink-space'
13c92b4a30 Ninja: Fix creation of library symlinks in folders with spaces

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3341
2019-05-22 10:24:46 -04:00
Brad King 5a1af142f1 Genex: Fix value lifetimes in nested TARGET_PROPERTY evaluation
For special properties like `INCLUDE_DIRECTORIES`, the pointer returned
by `cmTarget::GetProperty` is only valid until the next time the same
special property is queried on *any* target.  When evaluating a nested
`TARGET_PROPERTY` generator expression we may look up such a property
more than once on different targets.  Fix `TargetPropertyNode::Evaluate`
to store the lookup result in locally owned memory earlier.

Fixes: #19286
2019-05-22 10:19:41 -04:00
Craig Scott ad32282a3e Merge topic 'file-remove-no-empty'
a1eb03569d file: Change REMOVE to ignore empty names

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3349
2019-05-22 08:57:29 -04:00
Sebastian Holtermann 71d6a1455e Autogen: Evaluate compiler features for the same exectuable only once
To speed up the `AUTOGEN` configuration process, evaluate the compiler
features only once.  The feature evaluation result is stored in the new class
`cmQtAutoGen::CompilerFeatures`, and the instance is shared by using
`std::shared_ptr`.
2019-05-22 12:25:17 +02:00
Sebastian Holtermann 5b53cfda24 cmSystemTools: Remove cmSystemToolsFileTime interface
This removes the C style cmSystemToolsFileTime interface in cmSystemTools.
It was replaced by the RAII based cmFileTimes class.
2019-05-22 10:57:10 +02:00
Sebastian Holtermann 9c576a88d9 Use cmFileTimes instead of cmSystemToolsFileTime interface 2019-05-22 10:57:10 +02:00
Sebastian Holtermann 4b45a5d5c7 cmFileTimes: New RAII based cmFileTimes class
This adds a new RAII based cmFileTimes class.
It is supposed to replace the C style cmSystemToolsFileTime interface.
2019-05-22 10:57:10 +02:00
Kitware Robot f01e18eb46 CMake Nightly Date Stamp 2019-05-22 00:01:06 -04:00
Bartosz Kosiorek 53cb1f2d04 cmake: Teach cmake -E tar command, Zstandard compression
Fixes #18657
2019-05-22 03:46:55 +02:00
Saleem Abdulrasool 02c14b7fcd Ninja,Swift: pass along DEFINES/FLAGS/INCLUDES
Since the Swift model does a single compile/link phase, we would not
get the compile definitions, includes, and options past along to the
build of the module.  Compute these for the target when constructing
the main command.
2019-05-21 08:53:50 -07:00
Robert Maynard 81b4d10d8f CUDA: More exhaustive checks to determine when to do device linking
Previously CMake used fairly naive logic to determine when to do
device linking which caused unnecessary device linking to occur
frequently. We now use a more exhaustive algorithm to determine
when we have a need for device linking.

Fixes: #19238
2019-05-21 11:40:07 -04:00
Cristian Adam 26a99da206 find_package: Add option to prefer Config mode
Add a `CMAKE_FIND_PACKAGE_PREFER_CONFIG` variable to tell
`find_package` calls to look for a package configuration file
first even if a find module is available.

Fixes: #16805, #19236
2019-05-21 10:29:47 -04:00
Marc Chevrier 8517b549f4 FindPython: Add policy to manage lookup stratgey default. 2019-05-21 16:13:27 +02:00
Brad King 0bf5348329 Merge topic 'string-param'
273257222e Source: change parameters to std::string

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3340
2019-05-21 09:46:45 -04:00
Brad King a1eb03569d file: Change REMOVE to ignore empty names
Previously code like

    file(REMOVE_RECURSE "${accidentally_missing_variable}")

treated the empty string as a relative path with respect to the
current directory and removed its contents.  Change this behavior
to ignore the empty string with a warning instead.

Normally such behavior changes are done with a policy, but in this case
such code is likely a real bug in project code that can delete data.

Fixes: #19274
2019-05-21 09:25:32 -04:00
Brad King 9c07cefee5 VS: Fix ApplicationTypeRevision in builtin check projects
Do not use the entire `CMAKE_SYSTEM_VERSION`, but rather the first two
components only.

Fixes: #19275
2019-05-21 08:50:37 -04:00
Brad King 639e14def6 VS: Factor out helper to compute ApplicationTypeRevision
This is the first two components of `CMAKE_SYSTEM_VERSION`.
2019-05-21 08:50:01 -04:00
Ruslan Baratov 26ea022c3b Add variable CMAKE_FRAMEWORK 2019-05-21 14:26:23 +03:00
Kitware Robot 1db0edb2a6 CMake Nightly Date Stamp 2019-05-21 00:01:06 -04:00
Cristian Adam c365243a3a find_package: Factor out module and config find_package methods 2019-05-20 21:20:10 +02:00
Saleem Abdulrasool 62381effba Ninja,Swift: reuse SWIFT_MODULE_NAME for SWIFT_MODULE
Rather than compute the value of `SWIFT_MODULE`, use the computed value
of `SWIFT_MODULE_NAME`.  This is helpful strictly for Windows where you
have multiple configuration variants with differing ABIs that need must
co-exist.  In particular, this re-use permits the use of
`CMAKE_DEBUG_POSTFIX` to have the import library and the DLL be named
with the trailing suffix but have the same import name for the swift
module and interface.
2019-05-20 09:28:35 -07:00
Robert Maynard 3205c7c950 cmNinjaLinkLineDeviceComputer now lives in the correct source file 2019-05-20 11:05:16 -04:00
Brad King e025495b85 Merge topic 'makefiles_additional_clean_files'
f945c3e755 Tests: Extend MakeClean test to cover subdirectories without targets
1ded3599d6 Makefiles: Process ADDTIONAL_CLEAN_FILES dir prop at directory level
827da1119e Makefiles: Make build root targets "all", "clean" and "preinstall" recursive
adc3459707 Makefiles: Avoid pointer repurposing
0d41b45cc9 Makefiles: Inline range loop range arguments

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3338
2019-05-20 10:56:22 -04:00
Brad King a9fb9a8774 Merge topic 'ninja-swift'
a9180ccf9a Tests: add a check for the Swift compiler
d745551fb6 Help: add some initial documentation for Swift support
9a182c9e5b Auxiliary: update vim syntax highlighting
e9b0063e8e Modules: add build rules for Swift Ninja support
b6412e3e38 Ninja: add placeholders to support Swift build
7d7f31161d Ninja: add support for Swift's output-file-map.json
d688c4c19d Swift: remove unnecessary unreleased Ninja infrastructure
0723582208 Swift: Detect compiler version
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3297
2019-05-20 10:55:27 -04:00