summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* cmAddCustomCommandCommand: store keywords in stringsBen Boeckel2018-01-311-49/+99
| | | | | | | Callgrind indicated that `strlen` was being called a lot of times here due to the string comparisons. Since keywords are "sparse" in `add_custom_command`, use a hash comparison to handle keywords and then use strings for comparison since they have a built-in length parameter.
* Merge topic 'reduce-temporaries'Brad King2018-01-2969-314/+302
|\ | | | | | | | | | | | | c85bb007 Reduce allocation of temporary values on heap. Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1698
| * Reduce allocation of temporary values on heap.Pavel Solodovnikov2018-01-2669-314/+302
| | | | | | | | | | - Use `std::move` while inserting temporary results into vectors. - Change `push_back` to `emplace_back` where appropriate.
* | Merge topic 'ctest_start_function_scope'Brad King2018-01-295-3/+24
|\ \ | | | | | | | | | | | | | | | | | | | | | 13347740 Help: add release notes, documentation for CTEST_RUN_CURRENT_SCRIPT behavior 74092d92 cmCTestScriptHandler: Add new field ShouldRunCurrentScript Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1703
| * | cmCTestScriptHandler: Add new field ShouldRunCurrentScriptKyle Edwards2018-01-265-3/+24
| |/ | | | | | | | | | | | | | | | | | | This is to avoid scope issues with CTEST_RUN_CURRENT_SCRIPT. If ctest_start() is called within a function scope, the value of CTEST_RUN_CURRENT_SCRIPT that it sets doesn't make it to the global scope. With this change, ctest_start() no longer sets CTEST_RUN_CURRENT_SCRIPT, and instead sets a field directly in cmCTestScriptHandler. The old behavior of CTEST_RUN_CURRENT_SCRIPT has also been kept for projects and tests that rely on setting it.
* | CMake Nightly Date StampKitware Robot2018-01-291-1/+1
| |
* | CMake Nightly Date StampKitware Robot2018-01-281-1/+1
| |
* | CMake Nightly Date StampKitware Robot2018-01-271-1/+1
| |
* | Merge topic 'dedup-uv-signal-hack'Brad King2018-01-264-74/+48
|\ \ | | | | | | | | | | | | | | | | | | | | | 3ec5f7c1 De-duplicate cmUVSignalHackRAII 1ad58d30 cmUVSignalHackRAII: Use nullptr instead of NULL Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1699
| * | De-duplicate cmUVSignalHackRAIIBrad King2018-01-254-74/+48
| | | | | | | | | | | | | | | | | | This was added separately in `cmCTestMultiProcessHandler` and `cmQtAutoGenerator`. Factor out the duplicate code into a common header for re-use.
| * | cmUVSignalHackRAII: Use nullptr instead of NULLBrad King2018-01-251-2/+2
| |/
* | Merge topic 'ctest-chrono'Brad King2018-01-2638-212/+272
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | e6a80ccf Make use of std::chrono throughout every component ff62b005 CTest: add safe conversion from cmDuration to integer types 695951bc CTest: introduce cmDuration Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1592
| * | Make use of std::chrono throughout every componentWouter Klouwen2018-01-2318-62/+86
| | | | | | | | | | | | | | | | | | | | | | | | This commit continues the changes made in CTest to support std::chrono by applying it throughout every component where a duration was used. No functional change intended.
| * | CTest: add safe conversion from cmDuration to integer typesWouter Klouwen2018-01-237-40/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A problem area by recent refactoring of time to std::chrono has been the unsafe conversion from duration<double> to std::chrono::seconds, which is of an unspecified integer type. This commit adds a template function that for a given type provides a safe conversion, effectively clamping a duration<double> into what fits safely in that type. A specialisation for int and unsigned int are provided. It changes the protential problem areas to use this safe function.
| * | CTest: introduce cmDurationWouter Klouwen2018-01-2319-109/+111
| | | | | | | | | | | | | | | | | | | | | | | | This commit introduces cmDuration as a typedef for std::chrono::duration<double, std::ratio<1>>. It is less verbose and provides for a point to put future common functionality for durations. No functional change intended.
* | | CMake Nightly Date StampKitware Robot2018-01-261-1/+1
| |/ |/|
* | Merge topic 'xl-qoptfile'Brad King2018-01-252-4/+17
|\ \ | | | | | | | | | | | | | | | | | | | | | c4dc6485 XL: Enable use of response files for includes and objects e342e410 Makefile,Ninja: Use tool-specific response file flag for include dirs Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1691
| * | Makefile,Ninja: Use tool-specific response file flag for include dirsBrad King2018-01-242-4/+17
| | | | | | | | | | | | | | | | | | | | | When we use a response file for `-I` flags, not all compilers support the `@<file>` syntax. Define `CMAKE_<LANG>_RESPONSE_FILE_FLAG` to specify tool-specific flag, just as we do for linking already via `CMAKE_<LANG>_RESPONSE_FILE_LINK_FLAG`.
* | | Merge topic 'server-polish-opt-handshake'Brad King2018-01-251-14/+15
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 239a3ef8 Server-mode: Document protocol version for optional handshake arguments 9b1a3d24 Server-mode: Rename functions to reflect what they do Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1693
| * | | Server-mode: Rename functions to reflect what they doTobias Hunger2018-01-241-14/+15
| |/ / | | | | | | | | | | | | Rename the test* static functions to getOrTest* to better reflect what they do now.
* | | Merge topic 'RemoveKDevelop3'Brad King2018-01-259-704/+10
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 551bd0b3 Generators: adjust error message for the removed KDevelop3 generator 9198e6a2 Generators: remove KDevelop3 generator Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1688
| * | | Generators: adjust error message for the removed KDevelop3 generatorAlex Neundorf2018-01-241-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the user request a KDevelop3 project, tell the user that KDevelop3 is not supported anymore, so he sees it's not just a typo. Alex
| * | | Generators: remove KDevelop3 generatorAlex Neundorf2018-01-249-703/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The last KDevelop3 release was many years ago, in 2008 I think. I haven't seen or read about anybody using KDevelop 3 since a long time, so I think it can safely be removed from CMake. KDevelop 4 (first released in 2010) has its own proper CMake support now, independent from this generator. Alex
* | | | Merge topic 'update-kwsys'Brad King2018-01-2519-207/+241
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f8e89468 Merge branch 'upstream-KWSys' into update-kwsys 7a756570 KWSys 2018-01-23 (0579db1c) Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1695
| * | | | Merge branch 'upstream-KWSys' into update-kwsysBrad King2018-01-2419-207/+241
| | |/ / | |/| | | | | | | | | | | | | | * upstream-KWSys: KWSys 2018-01-23 (0579db1c)
* | | | Merge topic 'sourceFile-new-properties'Brad King2018-01-2521-184/+536
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 04483111 sourceFile properties: add property INCLUDE_DIRECTORIES 3073bd1f VisualStudio generators: refactoring 78b1c2e0 sourceFile properties: add property COMPILE_OPTIONS 3f935e69 LocalGenerator: refactoring Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1596
| * | | | sourceFile properties: add property INCLUDE_DIRECTORIESMarc Chevrier2018-01-2411-16/+206
| | | | |
| * | | | VisualStudio generators: refactoringMarc Chevrier2018-01-237-134/+190
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Uniformize include directories handling. Fix memory leaks in class cmVisualStudio10TargetGenerator: OptionsMap uses now std::unique_ptr.
| * | | | sourceFile properties: add property COMPILE_OPTIONSMarc Chevrier2018-01-237-7/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the support of per-source property COMPILE_OPTIONS, including generator expressions support. Related: #17507
| * | | | LocalGenerator: refactoringMarc Chevrier2018-01-238-29/+76
| | | | | | | | | | | | | | | | | | | | | | | | | Introduce method AppendCompileOptions to support future source file property COMPILE_OPTIONS.
* | | | | Merge topic 'fix-include_regular_expression-subdir'Brad King2018-01-251-0/+6
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2d64f9f0 include_regular_expression: Fix propagation to subdirectories Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1690
| * | | | | include_regular_expression: Fix propagation to subdirectoriesBrad King2018-01-241-0/+6
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactoring in commit v3.4.0-rc1~321^2 (cmMakefile: Remove special handling of INCLUDE_REGULAR_EXPRESSION, 2015-04-04) accidentally broke propagation of the include regex to subdirectories. Refactoring in commit v3.5.0-rc1~319^2~1 (cmState: Initialize properties immediately, 2015-10-07) moved maintenance of this value from `cmMakefile` to `cmStateSnapshot`. Restore propagation of the `INCLUDE_REGULAR_EXPRESSION` to subdirectories and add a test to cover it. Fixes: #17676
* | | | | Merge topic 'windows-resources-through-link'Brad King2018-01-251-2/+6
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c3b80e86 Windows: Add support for running CMake tools through a symlink Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1680
| * | | | | Windows: Add support for running CMake tools through a symlinkPavel P2018-01-241-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When `cmake.exe` is executed through a symlink, `GetModuleFileNameW` will return location of the link instead of the real path of `cmake.exe`. This results in the following error output: CMake Error: Could not find CMAKE_ROOT !!! CMake has most likely not been installed correctly. Use `cmSystemTools::GetRealPath` in `FindCMakeResources` on Windows to resolve any symlink returned by `GetModuleFileNameW`.
* | | | | | Merge topic 'stdstring'Brad King2018-01-257-30/+31
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 25243014 cmMakefile: use std::string in more methods; cleanup c_str()s Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1685
| * | | | | | cmMakefile: use std::string in more methods; cleanup c_str()sVitaly Stakhovsky2018-01-237-30/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Follow up commit 969c1f94ae (cmSourceGroup: code improvements; use std::string and C++11 loops, 2017-01-10).
* | | | | | | CMake Nightly Date StampKitware Robot2018-01-251-1/+1
| |_|_|_|/ / |/| | | | |
* | | | | | Merge topic 'cpack_trace'Brad King2018-01-243-0/+34
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 93bc5848 CPack: accept --trace and --trace-expand Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1583
| * | | | | | CPack: accept --trace and --trace-expandIsaiah Norton2018-01-233-0/+34
| | |_|_|_|/ | |/| | | |
* | | | | | Merge topic 'vcxproj-spaces'Brad King2018-01-241-1/+1
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | da1a500c cmVisualStudio10TargetGenerator: remove redundant space char in some tags Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1684
| * | | | | cmVisualStudio10TargetGenerator: remove redundant space char in some tagsVitaly Stakhovsky2018-01-231-1/+1
| | |/ / / | |/| | | | | | | | | | | | | Many source tags become identical to those created by MSVC
* | | | | Merge topic 'libuv-restore-fmode'Brad King2018-01-247-18/+27
|\ \ \ \ \ | |_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 98628de8 Extend libuv file translate mode workaround to all executables 3b588ac5 cpack: Enable MSVC debug hook earlier Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1686
| * | | | Extend libuv file translate mode workaround to all executablesBrad King2018-01-237-16/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since libuv commit v1.14.1~7 (win: add uv__once_init() calls, 2017-08-30) the libuv initialization of the file translate mode may take place even if we do not use a uv loop. This change was included in our libuv update commit f4a26c748b (libuv 2018-01-19). Therefore use of libuv even through `cmSystemTools::GetRealPath` in any executable may trigger its file translate mode setting. Factor out the logic added to `cmake.exe` by commit v3.9.0-rc4~10^2 (cmake: Fix default file translate mode when using libuv, 2017-06-13) and re-use to initialize all executables. Issue: #16962
| * | | | cpack: Enable MSVC debug hook earlierBrad King2018-01-231-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | All other executables do this just after console and command-line encoding conversion. Do the same in CPack.
* | | | | CMake Nightly Date StampKitware Robot2018-01-241-1/+1
| |_|/ / |/| | |
* | | | Merge topic 'recognize-versioned-shared-libraries'Brad King2018-01-231-5/+3
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5cbf3653 cmComputeLinkInformation: Better RPATH detection for versioned libraries. Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1682
| * | | | cmComputeLinkInformation: Better RPATH detection for versioned libraries.Byoungchan Lee2018-01-221-5/+3
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some libraries uses the non-conventional SONAME scheme like `libssl.so.1.1` or `libboost_system.so.1.64.0`, but CMake didn't count on such versioned libraries. This commit modify regular expressions to match relaxed format of shared library name for determining various linker options, especially `RPATH`. Note that support for one component has been available since v2.8.12. Fixes: #15938
* | | | Merge topic 'feature-codelite-fortran'Brad King2018-01-231-15/+16
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | 51caac69 CodeLite: Better support for Fortran and Windows Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1678
| * | | CodeLite: Better support for Fortran and WindowsTobias R. Henle2018-01-191-15/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fortran source files are added to the src folder of CodeLite projects and the "Compile Single File" command uses "$(CurrentFileFullName)" instead of "$(CurrentFileName)" with the correct filename extension for object files on windows now.
* | | | CMake Nightly Date StampKitware Robot2018-01-231-1/+1
| |/ / |/| |