summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* add_custom_target: Add output checks for custom target byproductsDaniel Eiband2019-09-235-32/+66
| | | | | Use the output checks for byproducts of add_custom_command also for byproducts of add_custom_target.
* add_custom_command: Add tests for custom command output checksDaniel Eiband2019-09-231-2/+2
|
* Merge topic 'cmake-system-headers'Brad King2019-09-20134-1207/+197
|\ | | | | | | | | | | | | | | 4a08690ccf cmstd: Extend header <cm/iterator> c688b401d3 cmstd: Modernize CMake system headers Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3776
| * cmstd: Modernize CMake system headersMarc Chevrier2019-09-20134-1207/+197
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Provide a standardized way to handle the C++ "standard" headers customized to be used with current CMake C++ standard constraints. Offer under directory `cm` headers which can be used as direct replacements of the standard ones. For example: #include <cm/string_view> can be used safely for CMake development in place of the `<string_view>` standard header. Fixes: #19491
* | Merge topic 'pch-source-list'Brad King2019-09-203-1/+13
|\ \ | | | | | | | | | | | | | | | | | | 9d2ac86f45 Precompile Headers: Add precompile header file to source list Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3832
| * | Precompile Headers: Add precompile header file to source listCristian Adam2019-09-193-1/+13
| | | | | | | | | | | | | | | | | | | | | The precompile header file will be added to the list of files, and be part of the newly "Precompile Header File" source group. Also make sure the sources have the header as dependency.
* | | Merge topic 'smart_ptr/cmComputeLinkDepends'Brad King2019-09-202-14/+11
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 14da7aedf2 cmComputeLinkDepends: remove manual memory deallocation Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3831
| * | | cmComputeLinkDepends: remove manual memory deallocationTushar Maheshwari2019-09-182-14/+11
| | | | | | | | | | | | | | | | | | | | - Replace owning raw `DependSetList` pointer with direct object. - Use an extra `bool Initialized` flag to imitate `nullptr` semantics.
* | | | Merge topic 'smart_ptr/cmExportSet'Brad King2019-09-2012-118/+75
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 71f088f53a cmExportSet: subsume cmExportSetMap source files 6511fa6f33 cmExportSet: default destructor 9b8a1f7c28 cmExportSetMap: improve ownership of cmExportSet Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3816
| * | | | cmExportSet: subsume cmExportSetMap source filesTushar Maheshwari2019-09-1911-51/+30
| | | | |
| * | | | cmExportSet: default destructorTushar Maheshwari2019-09-197-31/+34
| | | | |
| * | | | cmExportSetMap: improve ownership of cmExportSetTushar Maheshwari2019-09-195-47/+22
| | | | | | | | | | | | | | | | | | | | | | | | | - use `std::piecewise_construct` to fix gcc-4.8 build. - can use `emplace(name, name)` gcc-6 onwards.
* | | | | Merge topic 'split-custom-command-creation'Brad King2019-09-204-107/+263
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0e1faa28cb cmMakefile: Separate custom command setup from actual creation 56c204e8eb cmMakefile: Refactor AddCustomCommandOldStyle to be delay friendly 3061dc6ac9 add_custom_command: Add tests for rejecting literal quotes in commands e893ab94ba cmMakefile: Validate command line for all custom commands f1e846fdde cmMakefile: Extract custom command validation method 4926ab2454 cmMakefile: Create all generated byproducts as known sources Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3822
| * | | | | cmMakefile: Separate custom command setup from actual creationDaniel Eiband2019-09-174-63/+184
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactor custom command manipulation functions to consist of a setup and a commit stage. The commit stage will be delayed to generate time.
| * | | | | cmMakefile: Refactor AddCustomCommandOldStyle to be delay friendlyDaniel Eiband2019-09-171-27/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Custom command functions consist of two parts: setup and commit. Only the commit part will be delayed to generate time. This change puts the commit part of AddCustomCommandOldStyle into a lambda. When delayed, it will not be possible to break the loop over the outputs if an error occurs which seems reasonable.
| * | | | | cmMakefile: Validate command line for all custom commandsDaniel Eiband2019-09-172-40/+54
| | | | | |
| * | | | | cmMakefile: Extract custom command validation methodDaniel Eiband2019-09-172-8/+21
| | | | | |
| * | | | | cmMakefile: Create all generated byproducts as known sourcesDaniel Eiband2019-09-172-8/+7
| | | | | |
* | | | | | Merge topic 'prepare-genex-in-byproducts'Brad King2019-09-205-45/+49
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a583b7bc17 Genex: Evaluate byproduct generator expressions in cmCustomCommandGenerator ccc9685cc1 Genex: Move genex expansion of paths into AppendPaths utility 026ef9b312 Refactoring: Use ConfigName instead of property CMAKE_BUILD_TYPE Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3797
| * | | | | | Genex: Evaluate byproduct generator expressions in cmCustomCommandGeneratorDaniel Eiband2019-09-173-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Evaluate and expand generator expressions in byproducts of custom commands. Note that it is still not possible to use generator expressions in byproducts of the commands `add_custom_command` and `add_custom_target`. These commands still reject the input. This is a preparation step for OUTPUT generator expression support. Issue: #12877
| * | | | | | Genex: Move genex expansion of paths into AppendPaths utilityDaniel Eiband2019-09-171-14/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactored internals of cmCustomCommandGenerator to make processing of path lists (evaluation of generator expressions and expansion into a list) available as AppendPaths utility function to be used for byproduct generator expression support.
| * | | | | | Refactoring: Use ConfigName instead of property CMAKE_BUILD_TYPEDaniel Eiband2019-09-173-29/+20
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | Use memorized `this->ConfigName` instead of retrieving the value of property CMAKE_BUILD_TYPE.
* | | | | | Merge topic 'fileapiLinkPathAndLinkDirBacktraces'Brad King2019-09-2010-61/+220
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4d6334824d fileapi: add backtraces for LINK_PATH and LINK_DIRECTORIES 5bd65dff7a cmLocalGenerator: Add OutputLinkLibraries overload with backtraces 5d39e792ae cmGeneratorTarget: Store backtrace for target LINK_DIRECTORIES property 7da17ef797 cmLinkLineComputer: Add ComputeLinkLibraries overload with backtraces d4d0dd0f6a cmLinkLineComputer: Add ComputeLinkLibs overload with backtraces 0ac9dcb807 cmLinkLineComputer: Add ComputeLinkPath overload with backtraces 0c6468178a cmComputeLinkInformation: Add GetDirectoriesWithBacktraces a209b31d0d cmComputeLinkInformation: Add AppendValues with backtraces Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3805
| * | | | | | fileapi: add backtraces for LINK_PATH and LINK_DIRECTORIESJustin Goshi2019-09-183-20/+27
| | | | | | |
| * | | | | | cmLocalGenerator: Add OutputLinkLibraries overload with backtracesJustin Goshi2019-09-182-4/+21
| | | | | | |
| * | | | | | cmGeneratorTarget: Store backtrace for target LINK_DIRECTORIES propertyJustin Goshi2019-09-181-1/+1
| | | | | | |
| * | | | | | cmLinkLineComputer: Add ComputeLinkLibraries overload with backtracesJustin Goshi2019-09-184-22/+63
| | | | | | |
| * | | | | | cmLinkLineComputer: Add ComputeLinkLibs overload with backtracesJustin Goshi2019-09-183-6/+35
| | | | | | |
| * | | | | | cmLinkLineComputer: Add ComputeLinkPath overload with backtracesJustin Goshi2019-09-182-9/+35
| | | | | | |
| * | | | | | cmComputeLinkInformation: Add GetDirectoriesWithBacktracesJustin Goshi2019-09-182-0/+23
| | | | | | |
| * | | | | | cmComputeLinkInformation: Add AppendValues with backtracesJustin Goshi2019-09-182-0/+16
| | | | | | |
* | | | | | | Merge topic 'update-kwsys'Brad King2019-09-2022-347/+331
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c578caa68b Tests: Decouple Plugin test from KWSys 56879273dc Merge branch 'upstream-KWSys' into update-kwsys 3327c0402a KWSys 2019-09-18 (c6bc38c1) Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3828
| * | | | | | | Merge branch 'upstream-KWSys' into update-kwsysBrad King2019-09-1822-347/+331
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # By KWSys Upstream * upstream-KWSys: KWSys 2019-09-18 (c6bc38c1)
* | | | | | | | CMake Nightly Date StampKitware Robot2019-09-201-1/+1
| |_|_|_|_|_|/ |/| | | | | |
* | | | | | | Merge topic 'autogen_path_prefix'Brad King2019-09-1910-883/+1047
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cc0900d9cd Help: Add release notes for AUTOMOC_PATH_PREFIX 692d8e3492 Help: Add documentation for AUTOMOC_PATH_PREFIX 1933ade9f1 Tests: At QtAutogen.MocIncludeSymlink test 706d9738a6 Tests: Merge QtAutogen.MocIncludeStrict and MocIncludeRelaxed d018d27c10 Autogen: Add moc path prefix generation (AUTOMOC_PATH_PREFIX) 77983c8147 Autogen: Add IsHeader flag to SourceFileT class f9e5441eb4 Autogen: Abbreviate file paths in messages 51676cf655 Autogen: Split JobEvalCacheT job into separate moc and uic jobs ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3818
| * | | | | | | Autogen: Add moc path prefix generation (AUTOMOC_PATH_PREFIX)Sebastian Holtermann2019-09-164-37/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new `AUTOMOC_PATH_PREFIX` boolean target property enables automatic generation of the path prefix `-p` option for `moc`. `AUTOMOC_PATH_PREFIX` is initialized from the variable `CMAKE_AUTOMOC_PATH_PREFIX`, which is ON by default. When `AUTOMOC_PATH_PREFIX` is enabled, CMake tests if a `moc`ed header file is in one of the include directories. If so, then the `-p` option, with the relative path of the header parent directory to the respective include directory, is added to the `moc` command. If the header file is not in an include directory, the `-p` option is omitted. Closes: #18815 "AUTOMOC: generated files include full relative path, breaking certain reproducible builds"
| * | | | | | | Autogen: Add IsHeader flag to SourceFileT classSebastian Holtermann2019-09-162-76/+84
| | | | | | | |
| * | | | | | | Autogen: Abbreviate file paths in messagesSebastian Holtermann2019-09-166-210/+264
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This introduces the `cmQtAutoGenerator::MessagePath` method, that abbreviates paths by placing a - "SRC:" prefix in place of the project source directory - "BIN:" prefix in place of the project binary directory The method is used in `AUTO{MOC,UIC,RCC}` when paths are displayed in messages. This makes the messages generated by `AUTO{MOC,UIC,RCC}` shorter and improves their readability.
| * | | | | | | Autogen: Split JobEvalCacheT job into separate moc and uic jobsSebastian Holtermann2019-09-162-259/+319
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This splits the `JobEvalCacheT` job into separate `JobEvalCacheMocT` and `JobEvalCacheUicT` classes, that run concurrently. The `JobEvalCache*T::FindIncluded*` methods are overhauled to store probed directoriy names only if probing fails. Warning messages are refactored to show the file name and the probed directories instead of all probed file paths. This is easier to read.
| * | | | | | | Autogen: Split JobProbeDepsT job into separate moc and uic jobsSebastian Holtermann2019-09-164-66/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By splitting `JobProbeDepsT` into two independent `JobProbeDepsMocT`, `JobProbeDepsUicT`, the moc and uic job generation will happen concurrently. This should improve the execution speed, when both AUTOMOC and AUTOUIC are enabled. Parent directory names for moc and uic output files are are collected in a `std::unordered_set<std::string>` and get created in a batch. Beforehand we tried to create the parent directory for each output file. This led to duplications of `MakeDirectory` calls when there were multiple output files in the same directory (which is the case usually).
| * | | | | | | Autogen: Rename job classesSebastian Holtermann2019-09-162-107/+57
| | | | | | | |
| * | | | | | | Autogen: Remove CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE sort duplicationSebastian Holtermann2019-09-163-43/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This removes code that sorts include directories for `AUTOMOC` according to `CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE`. This is possible because the included directories passed to `AUTOMOC` are already sorted, also with respect to `CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE`.
| * | | | | | | Autogen: Use CollapseFullPath instead of RealPath to support symbolic linksSebastian Holtermann2019-09-163-36/+33
| | | | | | | |
| * | | | | | | Autogen: Sanitize include and search directoriesSebastian Holtermann2019-09-161-9/+41
| | | | | | | |
| * | | | | | | Autogen: Modernize by using an unnamed namespace instead of static functionsSebastian Holtermann2019-09-161-6/+9
| | | | | | | |
| * | | | | | | Autogen: Compute and store generator pointers once in initializer constructorSebastian Holtermann2019-09-162-129/+124
| | | | | | | |
* | | | | | | | Merge topic 'refactor-string-concat'Brad King2019-09-1931-797/+545
|\ \ \ \ \ \ \ \ | |_|_|_|_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9dba84cfa5 Refactor: Use cmStrCat to construct error strings Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3734
| * | | | | | | Refactor: Use cmStrCat to construct error stringsAsit Dhal2019-09-1831-797/+545
| | |_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | Replace string construction using std::stringstream with cmStrCat and cmWrap.
* | | | | | | CMake Nightly Date StampKitware Robot2019-09-191-1/+1
|/ / / / / /
* | | | | | Merge topic 'command-line-make-functions'Brad King2019-09-1814-186/+93
|\ \ \ \ \ \ | |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9c45b95ddd cmMakefile: Remove unused AddUtilityCommand overload 7f3ecbe7d7 cmCustomCommandLine: Provide command line make functions Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3819