Commit Graph

21555 Commits

Author SHA1 Message Date
Brad King b899c0a92f Merge topic 'separate-compilation'
569509f4 Fix newly discovered clang-tidy issues
6c9b3b5c cmCommand: implement functions in cxx file
8483dab8 bootstrap: Sort source files lexicographically
4fb70919 Create all commands from a single function
608afd4f Separate compilation for commands included in cmBootstrapCommands2
64f9c282 Separate compilation for commands included in cmBootstrapCommands1
f69e768d Separate compilation for commands included in cmCommands
2016-10-24 10:16:40 -04:00
Brad King 1ae2c232b6 Merge topic 'cm_unordered_map'
1a74e719 Introduce CM_UNORDERED_MAP
2016-10-24 10:16:33 -04:00
Daniel Pfeifer 1a74e71906 Introduce CM_UNORDERED_MAP
Avoid duplicating switch among std::unordered_map, cmsys::hash_map, and
std::map.
2016-10-24 09:58:52 -04:00
Kitware Robot 9a901dc78d CMake Nightly Date Stamp 2016-10-24 00:01:13 -04:00
Kitware Robot aae5a9feb1 CMake Nightly Date Stamp 2016-10-23 00:01:03 -04:00
Kitware Robot af782d0213 CMake Nightly Date Stamp 2016-10-22 00:01:04 -04:00
Daniel Pfeifer 569509f4bf Fix newly discovered clang-tidy issues
Clang-tidy reports some issues only from the currently compiled source
file and its associated header file.  Separating the compilation of
commands exposed some clang-tidy issues that were not reported previously.
Fix them.
2016-10-21 21:32:43 +02:00
Daniel Pfeifer 6c9b3b5c03 cmCommand: implement functions in cxx file 2016-10-21 18:14:51 +02:00
Daniel Pfeifer 4fb70919a5 Create all commands from a single function 2016-10-21 18:14:51 +02:00
Daniel Pfeifer 608afd4f62 Separate compilation for commands included in cmBootstrapCommands2 2016-10-21 18:14:51 +02:00
Daniel Pfeifer 64f9c282f3 Separate compilation for commands included in cmBootstrapCommands1 2016-10-21 18:14:51 +02:00
Daniel Pfeifer f69e768d94 Separate compilation for commands included in cmCommands 2016-10-21 18:14:50 +02:00
Brad King 1e555a44aa Merge topic 'ninja-encoding'
ced77d2b Ninja: Use ANSI encoding for Ninja build files on Windows
2016-10-21 08:59:42 -04:00
Brad King dd7f9d8393 Merge topic 'allow-fallback-config-mapping'
587ab322 Tests: Add test for MAP_IMPORTED_CONFIG_<CONFIG> empty fallback
149d49ea Teach MAP_IMPORTED_CONFIG_<CONFIG> to support configuration-less import
60d73393 Help: Format MAP_IMPORTED_CONFIG_<CONFIG> documentation
2016-10-21 08:59:37 -04:00
Brad King e094c8fa0a Merge topic 'ninja-diagnose-missing-tool'
010560be Ninja: Fail early on when ninja build tool does not run
2d3aa942 cmGlobalGenerator: Allow FindMakeProgram to fail
2016-10-21 08:59:30 -04:00
Kitware Robot ac394fddab CMake Nightly Date Stamp 2016-10-21 00:01:05 -04:00
Dāvis Mosāns ced77d2bbd Ninja: Use ANSI encoding for Ninja build files on Windows
Pass ANSI encoding to cmGeneratedFileStream for use with Ninja
generator.
2016-10-20 13:13:48 -04:00
Jens Weggemann 149d49ea7c Teach MAP_IMPORTED_CONFIG_<CONFIG> to support configuration-less import
If this property has an empty list entry, check for `IMPORTED_LOCATION`
instead of `IMPORTED_LOCATION_<CONFIG>`.  This allows custom imported
targets to have some configurations mapped and others fall back to a
default location.

Closes: #16280
2016-10-20 11:51:10 -04:00
Brad King 010560be66 Ninja: Fail early on when ninja build tool does not run
Diagnose failure to run `ninja --version` and abort early.  Otherwise we
end up aborting with a confusing message about ninja version "" being
too old.

Closes: #16378
2016-10-20 11:04:21 -04:00
Brad King 2d3aa94225 cmGlobalGenerator: Allow FindMakeProgram to fail
Revise its signature to return `bool` so that it can fail and abort
configuration early.
2016-10-20 10:37:27 -04:00
Brad King 7aa9961939 Merge topic 'vs-csharp-prep'
f27492a4 VS: Add internal API for detecting "managed" projects
4f78b9ff VS: Add CSharp project uuid and file extension
2016-10-20 08:51:24 -04:00
Brad King 090c871243 Merge topic 'ninja-only-object-rules'
3a9e92bc Ninja: Add compile rules only for languages that are actually compiled
2016-10-20 08:51:12 -04:00
Brad King a5f4463eed Merge topic 'clang-tidy'
effa6c83 fix more issues reported by clang-tidy
fb461cac silence selected clang-tidy violations
2016-10-20 08:51:09 -04:00
Brad King 92c3cab223 Merge topic 'split-cmState'
e6eecec7 cmListFileCache: Remove cmState header include
e3587ee0 cmTargetPropertyComputer: Add missing include
e0a84904 cmState: Split auxiliary classes into separate files
a91eaf38 cmState: Port dependents to new cmStateTypes header
27be1d81 cmState: Move extracted declarations to a separate file
34433c88 cmState: Remove compatibility typedefs
cde6eb62 cmState: Port dependent code to new cmStateSnapshot name
a9bf981a cmState: Move Snapshot type to separate namespace
17d27893 cmState: Port dependent code to new cmStateDirectory name
34bcec39 cmState: Move Directory class to separate namespace
2fe3e55d cmState: Move CacheEntryType enum to separate namespace
a49751fb cmState: Move TargetType enum to separate namespace
0060391d cmState: Move SnapshotType enum to separate namespace
5bc964ed cmState: Move PositionType to separate namespace
2dc40996 cmState: Move PolicyStackEntry to separate namespace
cb40af5d cmState: Move SnapshotDataType to separate namespace
...
2016-10-20 08:51:04 -04:00
Daniel Pfeifer effa6c8343 fix more issues reported by clang-tidy 2016-10-20 08:48:20 -04:00
Kitware Robot e10439121e CMake Nightly Date Stamp 2016-10-20 00:01:03 -04:00
Michael Stürmer f27492a4db VS: Add internal API for detecting "managed" projects
This is in preparation for adding CSharp language support to the VS
generator.
2016-10-19 11:14:19 -04:00
Michael Stürmer 4f78b9ff2d VS: Add CSharp project uuid and file extension
This is in preparation for adding CSharp language support to the VS
generator.
2016-10-19 11:14:16 -04:00
Stephen Kelly e6eecec761 cmListFileCache: Remove cmState header include
Include it in dependents which have previously relied on it
transitively.
2016-10-19 15:41:00 +02:00
Stephen Kelly e3587ee01d cmTargetPropertyComputer: Add missing include 2016-10-19 15:40:59 +02:00
Stephen Kelly e0a84904eb cmState: Split auxiliary classes into separate files
Port dependents to the new locations as needed.

Leave behind a cmState.h include in cmListFileCache to reduce noise. It
is removed in a following commit.
2016-10-19 15:40:59 +02:00
Stephen Kelly a91eaf3872 cmState: Port dependents to new cmStateTypes header 2016-10-19 15:40:59 +02:00
Stephen Kelly 27be1d8152 cmState: Move extracted declarations to a separate file 2016-10-19 15:40:59 +02:00
Stephen Kelly 34433c88e2 cmState: Remove compatibility typedefs 2016-10-19 15:40:59 +02:00
Stephen Kelly cde6eb6249 cmState: Port dependent code to new cmStateSnapshot name 2016-10-19 15:40:59 +02:00
Stephen Kelly a9bf981a4c cmState: Move Snapshot type to separate namespace
Leave behind a typedef to avoid porting dependent code in this commit.
2016-10-19 15:40:58 +02:00
Stephen Kelly 17d27893e6 cmState: Port dependent code to new cmStateDirectory name 2016-10-19 15:40:58 +02:00
Stephen Kelly 34bcec39c6 cmState: Move Directory class to separate namespace
Leave behind a typedef to avoid porting dependent code in this commit.
2016-10-19 15:40:58 +02:00
Stephen Kelly 2fe3e55d53 cmState: Move CacheEntryType enum to separate namespace
Port dependent code to the change.
2016-10-19 15:40:58 +02:00
Stephen Kelly a49751fb2e cmState: Move TargetType enum to separate namespace 2016-10-19 15:40:58 +02:00
Brad King 050ef26061 Merge topic 'cmake-server-pipe-mode-fix'
9112c43e server-mode: Fix named pipe mode
2016-10-19 08:48:27 -04:00
Kitware Robot 674d76538e CMake Nightly Date Stamp 2016-10-19 00:01:04 -04:00
Daniel Pfeifer fb461cacba silence selected clang-tidy violations 2016-10-18 22:56:47 +02:00
Brad King 3a9e92bce1 Ninja: Add compile rules only for languages that are actually compiled
In `WriteLanguageRules` we collect all languages used for source files
in a target.  However, this only needs to include sources that are
actually going to be compiled into object files.  No object file build
statements will be generated for other sources.

This avoids generating language compile rules for source files that
are not compiled due to being marked as `HEADER_FILE_ONLY`.

Issue: #16373
2016-10-18 15:35:10 -04:00
Stephen Kelly 0060391dff cmState: Move SnapshotType enum to separate namespace 2016-10-18 21:28:46 +02:00
Stephen Kelly 5bc964eddb cmState: Move PositionType to separate namespace
Remove friend declarations supporting it being a nested type.
2016-10-18 21:28:46 +02:00
Stephen Kelly 2dc4099648 cmState: Move PolicyStackEntry to separate namespace 2016-10-18 21:28:45 +02:00
Stephen Kelly cb40af5d6f cmState: Move SnapshotDataType to separate namespace 2016-10-18 21:28:45 +02:00
Stephen Kelly 1205f75e3b cmState: Move nested struct into separate top-level namespace
Add a friend declaration to give the struct access to
cmState::PositionType.  This will be removed when that type is also
extracted.
2016-10-18 21:28:45 +02:00
Stephen Kelly 163991dd83 cmServerProtocol: Remove unused header 2016-10-18 21:28:45 +02:00