summaryrefslogtreecommitdiff
path: root/Source/cmMakefile.h
Commit message (Collapse)AuthorAgeFilesLines
* find_*: Add debug logging infrastructureRobert Maynard2019-12-191-2/+13
| | | | | | | | | | | | Enable debug messages a new `--find-debug` command-line option or via the `CMAKE_FIND_DEBUG_MODE` variable. This work was started by Chris Wilson, continued by Ray Donnelly, and then refactored by Robert Maynard to collect information into a single message per find query. Co-Author: Ray Donnelly <mingw.android@gmail.com> Co-Author: Chris Wilson <chris+github@qwirx.com>
* CUDA: Add cuda meta-features (e.g. ``cuda_std_11``) supportRobert Maynard2019-12-101-1/+11
|
* cmMakefile: Delay custom command creationDaniel Eiband2019-11-241-45/+32
| | | | | | | | Move custom command creation to cmLocalGenerator and dispatch custom commands in cmMakefile to generate time. Generators add custom commands using the new methods provided by cmLocalGenerator. Issue: #12877
* cmMakefile: Explicitly pass backtrace to GetCustomCommandTargetDaniel Eiband2019-11-241-2/+3
| | | | | Allow GetCustomCommandTarget to be called at generate time with correct backtraces.
* cmMakefile: Delay CheckTargetProperties and FinalPass to generate timeDaniel Eiband2019-11-241-12/+13
|
* Revise include order using clang-format-6.0Kitware Robot2019-10-011-1/+2
| | | | | Run the `clang-format.bash` script to update our C and C++ code to a new include order `.clang-format`. Use `clang-format` version 6.0.
* Merge topic 'objective-c-cxx'Brad King2019-09-301-4/+10
|\ | | | | | | | | | | | | | | | | | | dd0f304613 Objective C/C++: Add compiler standard detection b515af782b Help: Add release note for Objective-C/C++ language support 9e66397c28 Languages: Add support for Objective-C++ 80f120a85f Languages: Add support for Objective-C Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3811
| * Objective C/C++: Add compiler standard detectionCristian Adam2019-09-281-4/+10
| |
* | cmMakefile: Remove AddUtilityCommand overload without byproductsDaniel Eiband2019-09-261-7/+0
| |
* | cmMakefile: Extract utilities used for creation of custom commandsDaniel Eiband2019-09-261-13/+39
| | | | | | | | Decompose creation of custom commands further into logical steps.
* | cmMakefile: Move enumerations into new headerDaniel Eiband2019-09-261-22/+14
|/ | | | The enumerations will also be used in cmLocalGenerator.
* Merge topic 'cmake-system-headers'Brad King2019-09-201-1/+1
|\ | | | | | | | | | | | | | | 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-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 'split-custom-command-creation'Brad King2019-09-201-8/+46
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | 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-171-5/+43
| | | | | | | | | | Refactor custom command manipulation functions to consist of a setup and a commit stage. The commit stage will be delayed to generate time.
| * cmMakefile: Validate command line for all custom commandsDaniel Eiband2019-09-171-1/+1
| |
| * cmMakefile: Extract custom command validation methodDaniel Eiband2019-09-171-0/+2
| |
| * cmMakefile: Create all generated byproducts as known sourcesDaniel Eiband2019-09-171-3/+1
| |
* | cmMakefile: Remove unused AddUtilityCommand overloadDaniel Eiband2019-09-161-8/+0
|/
* Merge topic 'tidy-deprecated-headers'Brad King2019-09-161-1/+1
|\ | | | | | | | | | | | | f30523d090 clang-tidy: modernize-deprecated-headers Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3792
| * clang-tidy: modernize-deprecated-headersRegina Pfeifer2019-09-161-1/+1
| |
* | Merge topic 'prepare-deferred-custom-command-creation'Brad King2019-09-161-0/+6
|\ \ | | | | | | | | | | | | | | | | | | | | | 5d28e361b7 add_custom_command: Move append functionality into class cmMakefile 4fb29850ad add_custom_command: Refactor setting implicit depends Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3810
| * | add_custom_command: Move append functionality into class cmMakefileDaniel Eiband2019-09-131-0/+4
| | |
| * | add_custom_command: Refactor setting implicit dependsDaniel Eiband2019-09-121-0/+2
| |/ | | | | | | | | Implicit dependencies are now passed as argument to AddCustomCommandToOutput. This is necessary to be able to delay custom command creation.
* | cmMakefile: Add lookup from source name to targets via byproductsDaniel Eiband2019-09-121-12/+58
|/ | | | | | | | | | | Given an output source name it is now possible to query which target has a byproduct of this name or has a PRE_BUILD, PRE_LINK, or POST_BUILD build event with a byproduct of this name. In a call to GetSourceFileWithOutput a matching byproduct can now optionally be returned as fallback if there is no matching output of a custom command. Default behavior is not changed by this commit.
* cmMakefile: set GENERATED property of outputs upfrontDaniel Eiband2019-09-061-0/+5
| | | | | | | Setting the GENERATED property of outputs upfront is a precondition for delayed custom command creation (generator expressions in outputs). Issue: 12877
* clang-tidy: Replace typedef with usingRegina Pfeifer2019-09-031-5/+5
|
* cmMakefile: Add configurations getter with empty configuration defaultDaniel Eiband2019-08-301-0/+3
|
* cmCommand refactor: cmCMakePolicyCommandGabor Bencze2019-08-201-1/+2
|
* Refactor: Convert all instances of CMAKE_BUILD_WITH_CMAKE to CMAKE_BOOTSTRAPKitware Robot2019-08-091-4/+4
|
* cmFunctionBlocker: Move check for matching argsRegina Pfeifer2019-07-311-2/+1
|
* cmMakefile: Add OnExecuteCommand callbackRegina Pfeifer2019-07-311-0/+6
| | | | | In cmCTestScriptHandler, port away from cmFunctionBlocker and update the elapsed time with the new callback instead.
* Merge topic 'cmStringAlgorithms'Kyle Edwards2019-07-301-0/+1
|\ | | | | | | | | | | | | f71f7ce3f0 cmStringAlgorithms: Move string functions to the new cmStringAlgorithms.h Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3618
| * cmStringAlgorithms: Move string functions to the new cmStringAlgorithms.hSebastian Holtermann2019-07-291-0/+1
| | | | | | | | | | This adds the `cmStringAlgorithms.h` header and moves all string functions from `cmAlgorithms.h` to `cmStringAlgorithms.h`.
* | cmMakefile: Keep function blockers in a stackRegina Pfeifer2019-07-271-2/+4
|/ | | | Highlight the fact that we only ever operate on the top element.
* cmMakefile: Let AddDefinition accept a value as cm::string_viewSebastian Holtermann2019-07-241-2/+4
| | | | | | | | | | | | | | | | This changes `cmMakefile::AddDefinition` to take a `cm::string_view` as value argument instead of a `const char *`. Benefits are: - `std::string` can be passed to `cmMakefile::AddDefinition` directly without the `c_str()` plus string length recomputation fallback. - Lengths of literals passed to `cmMakefile::AddDefinition` can be computed at compile time. In various sources uses of `cmMakefile::AddDefinition` are adapted to avoid `std::string::c_str` calls and the `std::string` is passed directly. Uses of `cmMakefile::AddDefinition`, where a `nullptr` `const char*` might be passed to `cmMakefile::AddDefinition` are extended with `nullptr` checks.
* cmMakefile: Simplify and rename AddDefinitionBoolSebastian Holtermann2019-07-241-5/+4
| | | | | | | This simplifies the `cmMakefile::AddDefinition` method with bool value overload to call the string based `cmMakefile::AddDefinition` method with either an "ON" or "OFF" string. Also the method is renamed to `cmMakefile::AddDefinitionBool`
* Merge topic 'command-final-action'Brad King2019-07-191-3/+10
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 732dd344b9 cmCommand: remove FinalPass from interface fbee46e262 cmVariableWatchCommand: Port away from FinalPass 360d415592 cmLoadCommandCommand: Port away from FinalPass 316e40baec cmInstallProgramsCommand: Port away from FinalPass 7bc88b9165 cmInstallFilesCommand: Port away from FinalPass 6a1a3763ee cmFLTKWrapUICommand: Port away from FinalPass 20169f0b8d cmExportLibraryDependenciesCommand: Port away from FinalPass a74dad3bd3 cmMakefile: decouple FinalAction from cmCommand ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3562
| * cmMakefile: decouple FinalAction from cmCommandDaniel Pfeifer2019-07-181-3/+10
| |
* | cmMakefile: Modernize AddFunctionBlocker method to accept a std::unique_ptrSebastian Holtermann2019-07-171-3/+3
|/
* modernize: manage cmCommand instances using unique_ptr.Marc Chevrier2019-07-141-1/+1
|
* IWYU: Fix handling of <memory> standard headerBrad King2019-07-101-1/+1
| | | | | | | | An old workaround for `std::allocator_traits<>::value_type` lints from IWYU on `std::vector<>` usage breaks IWYU's handling of `<memory>`. Convert the workaround to use the same approach we already use for a workaround of `std::__decay_and_strip<>::::__type` lints. Then update the `<memory>` inclusions to follow the now-correct IWYU lints.
* cmMakefile: Define cmTargetMap type in cmMakefile instead of cmTargetSebastian Holtermann2019-05-231-9/+8
| | | | | | | | The `cmTargetMap` type is only used in the context of `cmMakefile`. Therefore it is the most appropriate place to declare it. This moves the `cmTarget.h/cmTargets` type definition to `cmMakefile::cmTargetMap`.
* Support job pools in custom commands and targetsRosen Matev2019-05-141-5/+5
| | | | | | | | | | Provide a way for custom commands and targets to set the pool variable of the ninja build statement. Setting `JOB_POOL` is not compatible with `USES_TERMINAL`, which implies the `console` pool. The option is silently ignored with other generators. Closes: #18483
* Fix invalid ///! doxygen comment line startsSebastian Holtermann2019-03-311-8/+8
| | | | | In various places `///!` was used to start a comment line. This is not valid Doygen syntax. This patch replaces `///!` comment starts with `//!`.
* cmMakefile::ConfigureFile: Accept `std::string` parametersVitaly Stakhovsky2019-02-181-2/+2
|
* Delete some default constructors and assignment operatorsAlbert Astals Cid2019-02-151-0/+9
| | | | | | They are unused, but if someone used them they would lead to problems since they would copy the internal raw pointers and the destructor would cause double delete
* cmake: Progress functions use `std::string` paramVitaly Stakhovsky2019-02-111-1/+1
|
* cmMakefile::GetRequiredDefinition: return const std::string&Vitaly Stakhovsky2019-02-071-1/+1
|
* clang-tidy: Use `= delete`Regina Pfeifer2019-01-291-3/+7
|