summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* CTest: Use integer-representable value for "infinite" timeoutBrad King2017-12-114-25/+15
| | | | | | | | Refactoring in commit 66419bc046 (CTest: convert timeouts to std::chrono::duration, 2017-11-20) changed out "infinite" timeout to a value not representable by a 64-bit integer. This causes undefined behavior when e.g. KWSys Process converts the duration to a `long` to interact with system APIs. Use the old `1.0e7` maximum value.
* CTest: Simplify std::chrono::duration<double> conversion to doubleBrad King2017-12-086-52/+13
| | | | | | | | | The ratio of ticks to seconds for this type is 1, so we can just use its `count()` directly. This also avoids converting through the integer representation of `std::chrono::milliseconds`, which has a much smaller allowed range. Drop our `cmsysProcess_SetTimeout` wrapper as it is now very thin.
* cmCTestBuildAndTestHandler: Convert timeout to std::chrono::durationBrad King2017-12-082-11/+11
|
* CTest: Fix regression in build-and-test timeout forwardingBrad King2017-12-081-0/+1
| | | | | | | | Refactoring in commit 66419bc046 (CTest: convert timeouts to std::chrono::duration, 2017-11-20) changed out "infinite" timeout to a value not representable by a 64-bit integer. Update the `--build-and-test` forwarding of `--test-timeout` to not forward an "infinite" timeout.
* CTest: Fix regression in build-and-test timeout compuatationBrad King2017-12-081-3/+4
| | | | | | | | | | | | | Refactoring in commit 66419bc046 (CTest: convert timeouts to std::chrono::duration, 2017-11-20) accidentally changed the logic used to compute the timeout for a test when it starts. It incorrectly limits the maximum possible timeout to 2 minutes rather than 2 minutes less than the total allowed test time remaining. Update the new logic to restore the original behavior. Avoid subtracting 2 minutes from our "infinite" timeout value to avoid creating very large timeouts that are not "infinite" and may exceed integer type ranges.
* CTest: Fix regression in test timeout compuatationBrad King2017-12-071-3/+4
| | | | | | | | | | | | | Refactoring in commit 66419bc046 (CTest: convert timeouts to std::chrono::duration, 2017-11-20) accidentally changed the logic used to compute the timeout for a test when it starts. It incorrectly limits the maximum possible timeout to 2 minutes rather than 2 minutes less than the total allowed test time remaining. Update the new logic to restore the original behavior. Avoid subtracting 2 minutes from our "infinite" timeout value to avoid creating very large timeouts that are not "infinite" and may exceed integer type ranges.
* CTest: convert timeouts to std::chrono::durationWouter Klouwen2017-12-0415-126/+240
| | | | | | | | | This commit continues the refactoring of CTest to adopt std::chrono. After the last sets of changes that introduced std::chrono::steady_clock and std::chrono::system_clock respectively, it makes sense to have all the timeouts be stored as std::chrono::duration. No functional change intended.
* IWYU: Add mappings for std::enable_if on chrono durationsBrad King2017-11-288-8/+0
| | | | | | | | IWYU incorrectly classifies this internal STL type as not internal, and suggests including `<type_traits>` for it. Work around the problem by mapping the offending names to a file that we always include. See include-what-you-use issue 434.
* CMake Nightly Date StampKitware Robot2017-11-281-1/+1
|
* Merge topic 'extend-compile-language-genex'Brad King2017-11-271-8/+11
|\ | | | | | | | | | | | | | | | | | | | | | | 2ae880fa Genex: Enable COMPILE_LANGUAGE for COMPILE_OPTIONS with Visual Studio 2b7d59f3 Genex: Enable COMPILE_LANGUAGE for file(GENERATE) with Visual Studio 0f6f7c8a Genex: Fix COMPILE_LANGUAGE messages to allow file(GENERATE) with Xcode c5a82d0f Tests: Decouple COMPILE_LANGUAGE in file(GENERATE) from COMPILE_OPTIONS 25773650 Tests: Remove unnecessary result files from RunCMake.File_Generate Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Jason Juang <jasjuang@gmail.com> Merge-request: !1511
| * Genex: Enable COMPILE_LANGUAGE for COMPILE_OPTIONS with Visual StudioBrad King2017-11-201-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit v3.9.0-rc4~3^2~1 (VS: Fix target_compile_options for CUDA, 2017-06-21), the evaluation of `COMPILE_LANGUAGE` receives the proper language. 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_OPTIONS` to match the selected language. This is not exactly the same as for other generators, but is the best VS can do. It is also sufficient for many use cases since the set of allowed flags for C and C++ is almost the same in Visual Studio. Furthermore, since the VS generator moves many of the flags to declarative `.vcxproj` elements, it will automatically avoid passing C++ flags for C sources. Issue: #17435
| * Genex: Enable COMPILE_LANGUAGE for file(GENERATE) with Visual StudioBrad King2017-11-171-6/+10
| | | | | | | | Issue: #17435
| * Genex: Fix COMPILE_LANGUAGE messages to allow file(GENERATE) with XcodeBrad King2017-11-171-2/+2
| | | | | | | | | | | | | | When rejecting the `COMPILE_LANGUAGE` generator expression on include directories and compile definitions with Xcode, add `file(GENERATE)` to the allowed set in the message. It is allowed and already covered by the `RunCMake.File_Generate` test `COMPILE_LANGUAGE-genex` case.
* | Merge topic 'hardcoded-path-removal'Brad King2017-11-271-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a62d50ec Modules: Replace coded PATHS with PATH_SUFFIXES fd56d6a8 FindMPEG,2: Update to current libmpeg2 behavior 5f382cd8 FindPike: Update names and paths 6720807d FindAVIFile: Replace PATHS with updated suffixes f88ef9a9 Modules: Remove paths set as global Unix prefixes Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1502
| * | Modules: Remove paths set as global Unix prefixesChristian Pfeiffer2017-11-201-1/+1
| | | | | | | | | | | | | | | This commit removes hardcoded paths that are already given in the platform files or in `UnixPath` on a global level.
* | | Merge topic 'server-target-isGeneratorProvided'Brad King2017-11-2712-33/+53
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | afd9a339 server: return whether or not a target is generator provided Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1475
| * | | server: return whether or not a target is generator providedJustin Goshi2017-11-2012-33/+53
| | | | | | | | | | | | | | | | | | | | | | | | Some generators auto-generate targets. For example VS generators create the ALL_BUILD target. Add the ability to mark targets as generator provided and return that info through cmake-server codemodel.
* | | | Merge topic 'serverFixTestDiscovery'Brad King2017-11-276-85/+49
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fe2c2b0f server: ctestInfo fix to return all tests Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1479
| * | | | server: ctestInfo fix to return all testsJustin Goshi2017-11-176-85/+49
| | | | | | | | | | | | | | | | | | | | | | | | | Prior to this change we were looking at targets. But tests are associated with directories. This change fixes how we gather all tests.
* | | | | CMake Nightly Date StampKitware Robot2017-11-271-1/+1
| | | | |
* | | | | CMake Nightly Date StampKitware Robot2017-11-261-1/+1
| | | | |
* | | | | CMake Nightly Date StampKitware Robot2017-11-251-1/+1
| | | | |
* | | | | CMake Nightly Date StampKitware Robot2017-11-241-1/+1
| | | | |
* | | | | CMake Nightly Date StampKitware Robot2017-11-231-1/+1
| | | | |
* | | | | CMake Nightly Date StampKitware Robot2017-11-221-1/+1
| | | | |
* | | | | CMake Nightly Date StampKitware Robot2017-11-211-1/+1
| |/ / / |/| | |
* | | | Merge topic 'fix-cmake-server-bad-buffering'Brad King2017-11-201-3/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 01c42155 server: Fix regression in partial message handling Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: jdavidberger <j.david.berger@gmail.com> Merge-request: !1498
| * | | | server: Fix regression in partial message handlingvector-of-bool2017-11-201-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a partial message is flushed into the input pipe for CMake Server, the parser will try and parse it as a full message because of some bad loop checks. This was introduced accidentally in commit v3.10.0-rc1~365^2~2 (server: Refactor to make the event loop owned by server object, 2017-03-24).
* | | | | Merge topic 'autogen-rcc-custom-command'Brad King2017-11-2015-1658/+2003
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 40434631 Autogen: Use integers instead of strings for the Qt version be11a852 Autogen: Use project relative paths in rcc custom command comment ab9d5896 Autogen: Detect rcc feature once during configuration 2a85b5ac Autogen: Make cmQtAutoGeneratorInitializer an instantiable class 75819b86 Autogen: Add and use cmQtAutoGenerator base class 27ed3b35 Autogen: Rename cmQtAutoGenerators to cmQtAutoGeneratorMocUic 1cd285fe Autogen: Remove rcc code from cmQtAutoGenerators a87f82e0 Autogen: Switch to use custom commands for RCC ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1494
| * | | | | Autogen: Use integers instead of strings for the Qt versionSebastian Holtermann2017-11-193-16/+9
| | | | | |
| * | | | | Autogen: Use project relative paths in rcc custom command commentSebastian Holtermann2017-11-191-1/+21
| | | | | |
| * | | | | Autogen: Detect rcc feature once during configurationSebastian Holtermann2017-11-196-101/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We used to detect the `rcc` features before every `rcc` list invocation wich resulted in `rcc` be called twice for every listing operation. Now we detect the `rcc` list capabilities once during configuration and pass it to the cmake_autorcc target in the info file.
| * | | | | Autogen: Make cmQtAutoGeneratorInitializer an instantiable classSebastian Holtermann2017-11-198-759/+713
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the cmQtAutoGenDigest classes and make cmQtAutoGeneratorInitializer instantiable instead.
| * | | | | Autogen: Add and use cmQtAutoGenerator base classSebastian Holtermann2017-11-198-759/+487
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds the new base class `cmQtAutoGenerator` which contains common variables and methods used by `cmQtAutoGeneratorMocUic` and `cmQtAutoGeneratorRcc`.
| * | | | | Autogen: Rename cmQtAutoGenerators to cmQtAutoGeneratorMocUicSebastian Holtermann2017-11-194-76/+76
| | | | | |
| * | | | | Autogen: Remove rcc code from cmQtAutoGeneratorsSebastian Holtermann2017-11-192-308/+1
| | | | | |
| * | | | | Autogen: Switch to use custom commands for RCCSebastian Holtermann2017-11-192-209/+320
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of processing all `rcc` invocation requests in the _autogen target that calls `cmake -E cmake_autogen ...` once, use a dedicated custom command that calls `cmake -E cmake_autorcc ...` for each `.qrc` file. This allows parallel `.qrc` file processing and reduces the workload (and complexity) in the _autogen target. If only `AUTORCC` is enabled, the _autogen target won't be created at all since it is now used for `AUTOMOC` and `AUTOUIC` only. For `.qrc` files that are GENERATED a custom target is used instead of a custom command. Closes #17161
| * | | | | Autogen: Introduce standalone RCC generator classSebastian Holtermann2017-11-194-4/+844
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduces the standalone RCC generator class `cmQtAutoGeneratorRcc`. Every instance of `cmQtAutoGeneratorRcc` class handles the `rcc` invocation for a single `.qrc` file. The class will be used in the future to allow parallel `.qrc` file processing by calling `cmake -E cmake_autorcc <INFO_FILE> <CONFIG>`.
* | | | | Merge topic 'ctest-chrono'Brad King2017-11-2010-33/+44
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5fd979a8 CTest: adopt std::chrono::system_clock Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1487
| * | | | | CTest: adopt std::chrono::system_clockWouter Klouwen2017-11-1710-33/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After the refactor to make CTest use std::chrono::steady_clock for the keeping of time for test duration, there are still references to cmSystemTools::GetTime() left. To further adopt std::chrono for time related activities, this commit changes those remaining references to std::chrono::system_clock::now() calls and alters the storage from either unsigned int or double to std::chrono::system_clock::time_point. For ease of conversion, a converter method is added to cmXMLWriter that converts from a std::chrono::system_clock::time_point to the number of seconds since the UN*X epoch as that is expected behaviour. This means no more casts as required. Functionally should be no difference as the system_clock is implemented in the same terms.
* | | | | | Merge topic 'cuda-sep-comp-var'Brad King2017-11-201-0/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 00e13993 CUDA: Add CMAKE_CUDA_SEPARABLE_COMPILATION variable Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Alexander Korsunsky <a.korsunsky@gmail.com> Merge-request: !1495
| * | | | | | CUDA: Add CMAKE_CUDA_SEPARABLE_COMPILATION variableBrad King2017-11-171-0/+1
| | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use its value to initialize the `CUDA_SEPARABLE_COMPILATION` target property when targets are created. Fixes: #17478
* | | | | | Merge topic 'perf-source-lookup'Brad King2017-11-208-40/+84
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4a6348db Performance: Improve efficiency of source file lookup in cmMakefile Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1421
| * | | | | | Performance: Improve efficiency of source file lookup in cmMakefileAaron Orenstein2017-11-178-40/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reintroduces the change from commit v3.10.0-rc1~69^2 (Performance: Improve efficiency of source file lookup in cmMakefile, 2017-08-17) with some corrections. The original was rolled back by commit v3.10.0-rc1~52^2~1 (Revert "Performance: ...", 2017-09-25) due to incompatibilities found. The rollback was followed-up by addition of a test for the offending case, and this revision passes the test.
* | | | | | | Merge topic 'FindOpenGL-glvnd-policy'Brad King2017-11-201-1/+4
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2ea17412 FindOpenGL: Add policy CMP0072 to prefer GLVND for legacy GL Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Clinton Stimpson <clinton@elemtech.com> Merge-request: !1491
| * | | | | | | FindOpenGL: Add policy CMP0072 to prefer GLVND for legacy GLBrad King2017-11-171-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #17449
* | | | | | | | Merge topic 'serverBugFixHasInstallRule'Brad King2017-11-201-1/+14
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cb7d0a80 server: project has install rule bug fix Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1489
| * | | | | | | | server: project has install rule bug fixJustin Goshi2017-11-161-1/+14
| | |_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Need to check all generators associated with the project because any of them may have an install rule.
* | | | | | | | Merge topic 'vs-source-group-order'Brad King2017-11-207-21/+25
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f26009dd VS: Order .vcxproj.filters files deterministically c871446a cmSourceGroup: Return strings from GetName and GetFullName Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1484
| * | | | | | | | VS: Order .vcxproj.filters files deterministicallyBrad King2017-11-151-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sort source groups by name rather than arbitrary pointer values. Fixes: #17446