Commit Graph

24012 Commits

Author SHA1 Message Date
Craig Scott 657898ecad Merge topic 'cmSourceGroup-modern-cxx'
969c1f94 cmSourceGroup: code improvements; use std::string and C++11 loops

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1656
2018-01-17 15:06:02 -05:00
Kitware Robot 8b49fc3c6f CMake Nightly Date Stamp 2018-01-17 00:01:18 -05:00
Brad King b4dfe1d816 Merge topic 'extend-compile-language-genex'
506fda1c Genex: Enable COMPILE_LANGUAGE for INCLUDE_DIRECTORIES with VS and Xcode
c2f79c98 Genex: Enable COMPILE_LANGUAGE for COMPILE_DEFINITIONS with VS and Xcode
0795d25b cmVisualStudio10TargetGenerator: Factor out include dir computation
1ab4d186 cmLocalVisualStudio7Generator: Clarify variable name of compiled language
07e1a743 cmLocalVisualStudio7Generator: Clarify condition for target that compiles

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1657
2018-01-16 09:33:23 -05:00
Kitware Robot 27cbbf0ed0 CMake Nightly Date Stamp 2018-01-16 00:01:16 -05:00
Kitware Robot 675adaa4a4 CMake Nightly Date Stamp 2018-01-15 00:02:16 -05:00
Kitware Robot 7b78242d60 CMake Nightly Date Stamp 2018-01-14 00:01:10 -05:00
Kitware Robot cfd338728b CMake Nightly Date Stamp 2018-01-13 00:03:35 -05:00
Brad King 506fda1cf0 Genex: Enable COMPILE_LANGUAGE for INCLUDE_DIRECTORIES with VS and Xcode
The set of compile flags used for a target's C and C++ sources is based
on the linker language.  By default this is always the C++ flags if any
C++ sources appear in the target, and otherwise the C flags.  Therefore
we can define the `COMPILE_LANGUAGE` generator expression in
`INCLUDE_DIRECTORIES` to match the selected language.

This is not exactly the same as for other generators, but is the best VS
and Xcode can do.  It is also sufficient for many use cases since the
set of include directories for C and C++ is frequently similar but may
be distinct from those for other languages like CUDA.

Fixes: #17435
2018-01-12 14:27:37 -05:00
Brad King c2f79c9867 Genex: Enable COMPILE_LANGUAGE for COMPILE_DEFINITIONS with VS and Xcode
The set of compile flags used for a target's C and C++ sources is based
on the linker language.  By default this is always the C++ flags if any
C++ sources appear in the target, and otherwise the C flags.  Therefore
we can define the `COMPILE_LANGUAGE` generator expression in
`COMPILE_DEFINITIONS` to match the selected language.

This is not exactly the same as for other generators, but is the best VS
and Xcode can do.  It is also sufficient for many use cases since the
set of definitions for C and C++ is frequently similar but may be
distinct from those for other languages like CUDA.

Issue: #17435
2018-01-12 14:27:37 -05:00
Brad King 46ad721597 Merge topic 'cuda_allow_G_to_device_debugging_on_msvc'
dcc606ad CUDA: Allow -G to control device debuging on MSVC.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1619
2018-01-12 09:51:42 -05:00
Brad King af56d7f599 Merge topic 'avoid-ambiguous-extension-logic-for-known-paths'
d6dfde3c cmSourceFile: mark known locations as such
b0716fbc cmSourceFileLocation: allow skipping ambiguous extensions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1646
2018-01-12 09:50:44 -05:00
Kitware Robot c4d75459db CMake Nightly Date Stamp 2018-01-12 00:01:25 -05:00
Brad King 4cf08c96f8 Merge topic 'ctest-libuv'
b5e21d7d CTest: Re-implement test process handling using libuv
fcebff75 cmProcess: Use explicit enum for process exit exception
3dd2edf4 cmProcess: Use explicit enum for process state
5238e6db cmProcess: Remove unused ReportStatus method
c13b68e6 cmCTestRunTest: Modernize constructor and destructor decls
4d6b0903 cmCTestRunTest: Drop unused members
05da65bc cmCTestMultiProcessHandler: Factor out duplicate test finish logic
dd945345 cmCTestMultiProcessHandler: Add helper to make libuv use SA_RESTART
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1455
2018-01-11 15:33:03 -05:00
Brad King 0795d25b78 cmVisualStudio10TargetGenerator: Factor out include dir computation 2018-01-11 15:03:02 -05:00
Robert Maynard dcc606ad47 CUDA: Allow -G to control device debuging on MSVC.
Fixes #17551
2018-01-11 13:33:00 -05:00
Brad King 1ab4d186a7 cmLocalVisualStudio7Generator: Clarify variable name of compiled language 2018-01-11 10:55:20 -05:00
Brad King 07e1a74361 cmLocalVisualStudio7Generator: Clarify condition for target that compiles 2018-01-11 10:54:06 -05:00
Brad King 8c450b316f Merge topic 'autogen-nexist-source-fix'
be304fb8 Merge branch 'backport-autogen-nexist-source-fix' into autogen-nexist-source-fix
d592bfc9 Autogen: Ignore not existing source files in cmMakefile
513eb014 Autogen: Ignore not existing source files in cmMakefile

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1651
2018-01-11 10:29:58 -05:00
Brad King 2d5fdc25df Merge topic 'specify-source-extensions'
efd279cd cmake: specify source file extensions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1645
2018-01-11 10:19:25 -05:00
Brad King fe8d74cc60 Merge topic 'cuda_msvc_support_complex_gencode_signatures'
a91fde13 CUDA: gencode signature that list multiple code types now supported.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1618
2018-01-11 10:18:11 -05:00
Kitware Robot b2369ad409 CMake Nightly Date Stamp 2018-01-11 00:01:51 -05:00
Vitaly Stakhovsky 969c1f94ae cmSourceGroup: code improvements; use std::string and C++11 loops
Topic-rename: cmSourceGroup-modern-cxx
2018-01-10 19:01:49 -05:00
Sebastian Holtermann 513eb014eb Autogen: Ignore not existing source files in cmMakefile
Until CMake 3.10 a list of source files that had the AUTOUIC_OPTIONS property
populated was kept in `cmMakefile::QtUiFilesWithOptions`.  In the process to
remove all AUTOUIC related code from `cmMakefile` for CMake 3.10, the pre
filtered list was replaced by a loop in `cmQtAutoGeneratorInitializer` over
all source files in the `cmMakefile`.  This loop introduced the problem that
file paths were computed for source files that weren't in the target's sources
and that might not even have existed.  If the path for an unused and not
existing file was computed a `cmake::FATAL_ERROR` with the error message
"Cannot find source file:" was thrown nevertheless.
This caused some projects to fail in CMake 3.10.

This patch adds a test for path errors in the loops in
`cmQtAutoGeneratorInitializer` that iterate over all source files in a
`cmMakefile`. If a path error appears, the file is silently ignored.
If the file is part of the target's sources, the path error will still be
caught in the loop over all the target's sources.

Closes #17573
Closes #17589
2018-01-10 18:57:08 +01:00
Ben Boeckel d6dfde3cd3 cmSourceFile: mark known locations as such
Primarily, this includes:

  - the rule files generated for custom targets;
  - source files representing custom targets directly;
  - outputs of custom commands;
  - byproducts of custom commands; and
  - dependencies of custom commands.
2018-01-10 11:21:11 -05:00
Ben Boeckel b0716fbcc5 cmSourceFileLocation: allow skipping ambiguous extensions
The ambiguous extension logic is an old behavior that ends up taking
lots of extra compute cycles to execute. This is triggered by various
CMake codepaths which pass extension-less paths down when CMake actually
knows that they are not ambiguous. These codepaths will be indicated in
upcoming changes.

Various APIs have gained a cmSourceFileLocationKind parameter, but they
are all optional and default to the existing behavior.
2018-01-10 11:21:11 -05:00
Robert Maynard a91fde135d CUDA: gencode signature that list multiple code types now supported.
Fixes #17263
2018-01-10 10:45:57 -05:00
Brad King 1be22978e0 Merge topic 'serverTestInfoExpandVariables'
2c1ecab6 server: Expand generator expressions for test info

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1633
2018-01-10 10:34:24 -05:00
Bryon Bean b5e21d7d2e CTest: Re-implement test process handling using libuv
Co-Author: Brad King <brad.king@kitware.com>
2018-01-10 10:19:14 -05:00
Bryon Bean fcebff75f9 cmProcess: Use explicit enum for process exit exception
Translate the values from KWSys Process.
2018-01-10 10:19:14 -05:00
Bryon Bean 3dd2edf4ab cmProcess: Use explicit enum for process state
Translate the values from KWSys Process.
2018-01-10 10:19:14 -05:00
Bryon Bean 5238e6db70 cmProcess: Remove unused ReportStatus method 2018-01-10 10:19:14 -05:00
Bryon Bean c13b68e61f cmCTestRunTest: Modernize constructor and destructor decls 2018-01-10 10:19:13 -05:00
Bryon Bean 4d6b09037d cmCTestRunTest: Drop unused members 2018-01-10 10:19:13 -05:00
Bryon Bean 05da65bc22 cmCTestMultiProcessHandler: Factor out duplicate test finish logic 2018-01-10 10:19:13 -05:00
Brad King dd94534571 cmCTestMultiProcessHandler: Add helper to make libuv use SA_RESTART
Prior to 1.19, libuv does not use SA_RESTART in its signal handler.
Add a helper to cause libuv to install its handler and then revise
the handler's flags to add SA_RESTART.
2018-01-10 10:18:12 -05:00
Kitware Robot 89ec1aacd7 CMake Nightly Date Stamp 2018-01-10 00:01:50 -05:00
Craig Scott e44c5828d3 Merge topic 'add_cuda_to_source_regex'
81868e6b CUDA: Add cu as default source file extension

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Brad King <brad.king@kitware.com>
Merge-request: !1629
2018-01-09 16:15:11 -05:00
Brad King 847110e6fa Merge topic 'vs10-target-generator-range-for'
d09af946 VS: Modernize 'for' loops in cmVisualStudio10TargetGenerator to C++11

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !1617
2018-01-09 09:34:08 -05:00
Brad King e2edc9280c Merge topic 'vs-ranged-for'
92c7b526 VS: Use range-based 'for' loops in generator code

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !1616
2018-01-09 09:33:33 -05:00
Ben Boeckel efd279cdfb cmake: specify source file extensions 2018-01-09 09:21:09 -05:00
Kitware Robot b9bada655e CMake Nightly Date Stamp 2018-01-09 00:01:07 -05:00
Robert Maynard 81868e6bad CUDA: Add cu as default source file extension 2018-01-08 16:16:52 -05:00
Brad King 7e0eb77f2f cmCTestMultiProcessHandler: Fix StartNextTests loop on not-started test
If `StartTestProcess` does not start a test, propagate this information
back up to the `StartNextTests` loop so that it can move on to another
candidate without allocating processors to a test that didn't run.
Otherwise we have to wait for the next time `RunTests` loops around and
calls `StartNextTests` again.
2018-01-08 12:55:01 -05:00
Brad King 61ab5a8ef4 cmCTestMultiProcessHandler: Check stop time more directly
Avoid creating a cmCTestRunTest instance if the stop time has been
reached.  If the stop time occurs in the small time between creating an
instance and computing the child process timeout, we will simply compute
a zero timeout.  This is already done for the case that we StartAgain
after the stop time.
2018-01-08 12:55:01 -05:00
Brad King 4c199a4c28 cmCTestRunTest: Subsume ResolveTimeout into only call site 2018-01-08 12:55:01 -05:00
Brad King 2567e5df69 cmCTest: Refactor stop time calculations
Calculate the stop time up front instead of re-parsing its string for
every test.
2018-01-08 12:55:00 -05:00
Brad King 1138feb38f cmCTest: Remove unused member LastStopTimeout
This member was added by commit v2.8.2~285 (Better detection of
stop_time being passed, 2010-03-19), but its logic has no effect.
The member is only used for comparison against a value to which
it was just assigned.
2018-01-08 12:55:00 -05:00
Brad King f4a3143940 Merge topic 'execute_process_UTF8_keyword'
8caec41e execute_process: Allow UTF-8 as a synonym for the UTF8 keyword

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !1623
2018-01-08 10:44:47 -05:00
Brad King a3bba2a5ad Merge topic '17431-iphone-deployment-target'
4017bf40 Darwin: Emit deployment target that matches the SDK
8f4663ff Xcode: rename embedded SDK query function

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1447
2018-01-08 09:58:11 -05:00
Kitware Robot 2c089d80de CMake Nightly Date Stamp 2018-01-08 00:01:04 -05:00