summaryrefslogtreecommitdiffstats
path: root/Source/cmMakefile.h
Commit message (Collapse)AuthorAgeFilesLines
* AddCacheEntry: Suppress raw pointer usageMarc Chevrier2023-05-301-4/+13
|
* SetProperty: suppress raw pointer usageMarc Chevrier2023-05-261-2/+5
|
* CMake code rely on cmList class for CMake lists management (part. 2)Marc Chevrier2023-04-291-2/+0
|
* cmMakefile: Factor out helper to get recursion depth limitBrad King2023-03-131-0/+2
|
* cmMakefile: Store recursion depth limit as size_tBrad King2023-03-131-3/+3
|
* Apple: Handle generation and comsuption of text-based stubs (.tbd files)Marc Chevrier2023-03-011-0/+4
| | | | Fixes: #24123
* find_package: Use <PACKAGENAME>_ROOT variables as search prefixesBrad King2023-02-231-0/+3
| | | | | | | | | Extend commit eb35d8884b (find_package: Use PackageName_ROOT variables as search prefixes, 2018-03-15, v3.12.0-rc1~349^2) to also check upper-case `<PACKAGENAME>_ROOT` variables. Add policy `CMP0144` to enable the behavior in a compatible way. Fixes: #24403
* cmFindPackageCommand: Refactor CMP0074 logic to de-duplicate lookupsBrad King2023-02-231-1/+2
|
* cmMakefile: add support for a "synthesized" targetBen Boeckel2023-02-141-1/+4
| | | | | | It is a normal target, but will end up copying its internals from another target. Keep track of this state so that such copying can only occur when intended.
* Merge topic 'add_subdirectory_system'Brad King2022-09-271-1/+1
|\ | | | | | | | | | | | | 2eb30a7036 add_subdirectory: Add SYSTEM option Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7399
| * add_subdirectory: Add SYSTEM optionDa Quexian2022-09-261-1/+1
| | | | | | | | | | Fixes: #22401 Signed-off-by: Da Quexian <daquexian566@gmail.com>
* | Merge topic 'check-library-properties-fix-performances-regression'Brad King2022-09-091-1/+0
|\ \ | | | | | | | | | | | | | | | | | | | | | 985b4c82a6 Check link libraries properties: fix performances regression a47eef32a3 renames method FinalizeTargetCompileInfo() in FinalizeTargetConfiguration(). Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7651
| * | Check link libraries properties: fix performances regressionMarc Chevrier2022-09-071-1/+0
| |/ | | | | | | Fixes: #23939
* | cmMakefile: add RaiseScope for list of variablesMarc Chevrier2022-09-031-0/+1
| |
* | cmMakefile::VariablePushPop: helper class to manage variable scopesMarc Chevrier2022-08-221-0/+14
| |
* | cmMakefile::RaiseScope: Add support for cmValue argumentMarc Chevrier2022-08-221-0/+4
| |
* | Add cmake_language(GET_MESSAGE_LOG_LEVEL) sub commandAlexandru Croitor2022-06-281-0/+1
|/ | | | | | | | | | | | | | | | | The new sub-command writes a string representation of the current log level to the output variable given to the sub-command. Given that the log-level might be set either via the --log-level command line option or via the CMAKE_MESSAGE_LOG_LEVEL cache / regular variables, the priority for each of the log level sources is as follows, with the first one being the highest: 1) --log-level 2) CMAKE_MESSAGE_LOG_LEVEL regular variable 3) CMAKE_MESSAGE_LOG_LEVEL cache variable 4) default log level (STATUS) Fixes: #23572
* clang-tidy: address `modernize-use-default-member-init` lintsBen Boeckel2022-05-241-2/+2
|
* Trace: process else and elseif commands correctlyBraulio Valdivielso Martinez2022-03-251-2/+9
| | | | | | | | | | | | | | | | | There have been two bugs reported about the `else` and `elseif` commands in the context of the tracing functionality and the json-v1 format (#23191 #22315). In essence, the reported traces referred to the layer of the stacktrace immediately on top of the expected ones. This MR fixes both issues. My solution adds a new parameter to the `PrintCommandTrace` function, `commandMissingFromStack`, that callers can specify if the command they want to report a trace for is not a regular part of the stack maintained in `cmMakefile`. This is only the case for `else` and `elseif`. The other bug is fixed by having the caller pass a `cmListFileBacktrace`, which helps in getting the right lines, file names... for the reported command. Fixes: #23191 #22315
* cmMakefile: Add missing initializer for recently added memberBrad King2022-03-151-1/+1
| | | | | | | In commit 2f1ffa003c (find_package: Add support for default GLOBAL imported targets, 2022-03-10) we added a field without an initializer. This was exposed by a few failures in nightly testing. Previously it worked only by chance that the member's memory had suitable values.
* find_package: Add support for default GLOBAL imported targetsJohn Parent2022-03-101-0/+39
| | | | | | | | | Allow find package to promote scope of imported targets by specifying an argument to `find_package` or by specifying a CMake variable. * Add support for CMAKE_GLOBAL_IMPORT_SCOPE variable * Add support for GLOBAL argument to find_package Additionally add testing for above features.
* Merge topic 'debug-find'Brad King2022-02-111-0/+14
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | 38de1bef2d find_package: Improve --debug-find-pkg= when using a find module d634d20397 find_package: Avoid printing debug output header multiple times df3e29450a find_package: Mention package name in Config mode debug output 636ca7f25c find_package: Fix find module name in --debug-find output 596e185409 find_package: Improve formatting of --debug-find output 2f43527574 Tests: Improve order of RunCMake.find_package cases a690523fcf cmFindPackageCommand: Drop ComputeIfDebugModeWanted overload Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !6973
| * find_package: Improve --debug-find-pkg= when using a find moduleBrad King2022-02-101-0/+14
| | | | | | | | | | | | | | | | | | Extend the feature added by commit d7b18895bc (cmake: Add filtered debug-find options, 2021-12-07, v3.23.0-rc1~217^2) to enable debug output for `find_*` calls within a find module or cmake package configuration file. Fixes: #23211
* | Genex: Add $<LINK_LIBRARY:...>Marc Chevrier2022-02-071-0/+1
|/ | | | | | | | This generator expression offers the capability, for the link step, to decorate libraries with prefix/suffix flags and/or adding any specific flag for each library. Fixes: #22812, #18751, #20078, #22703
* cmCustomCommand: Track main dependency explicitlyNAKAMURA Takumi2021-12-141-1/+1
| | | | | | | Store the main dependency as the first entry in the dependency list plus a boolean member indicating its existence. Note that this slightly changes existing behavior: the main dependency was previously the last entry of the dependency list.
* cmMakefile: Simplify Add*Command and adopt to cmAddCustom*CommandNAKAMURA Takumi2021-11-181-36/+8
|
* cmMakefile: Simplify detail:::Add{Custom,Utility}CommandNAKAMURA Takumi2021-11-181-1/+14
| | | | | | | | | Note 1: `detail::AddCustomCommandToTarget()` resets cc, since cc is not moved away. Note 2: In `detail::AddUtilityCommand()`, a few vars are preserved before using. Their refs will be alive in most cases, but cc might be destroyed in the future.
* cmMakefile: Introduce GeneratorAction as the class.NAKAMURA Takumi2021-11-181-3/+24
|
* cmMakefile: Move CMP0116 lookup into Add{Custom,Utility}CommandNAKAMURA Takumi2021-11-181-18/+16
| | | | Avoid repeating it at every call site.
* Rename cmProp in cmValueMarc Chevrier2021-09-211-7/+7
|
* cmProp: cm::string_view cast operator must be explicitMarc Chevrier2021-09-141-0/+4
| | | | | | | To avoid ambiguity on std::string assigment between the following two cmProp cast operators: * operator const std::string&() const noexcept * operator cm::string_view() const noexcept
* Refactor: Convert parallel string/backtrace vectors to BT vectorsKyle Edwards2021-09-031-11/+5
|
* Enhancement: SetProperty accept cmProp or std::stringMarc Chevrier2021-08-251-0/+5
| | | | | Methods SetProperty of classes cmPropertyMap, cmStateDirectory and cmMakefile accept now cmProp or std::string as argument.
* Refactor: reduce cmToCStr usageMarc Chevrier2021-08-191-4/+4
|
* cmMakefile: Split out CreateNewTarget from AddNewTargetNAKAMURA Takumi2021-07-081-0/+5
| | | | `CreateNewTarget` tells whether the target is inserted or not.
* cmMakefile: Add helper to initialize CMAKE_CONFIGURATION_TYPESBrad King2021-06-301-0/+2
| | | | | Factor out duplicate code from the Ninja Multi-Config, Visual Studio, and Xcode generators.
* Source: Fix typos and spelling in commentsJosef Angstenberger2021-05-071-1/+1
|
* foreach(): loop variables are only available in the loop scopeMarc Chevrier2021-04-281-0/+1
| | | | Fixes: #20553
* cmCustomCommand: Record value of CMP0116 at time of creationKyle Edwards2021-02-231-16/+18
|
* file(GENERATE): Support new line styleAsit Dhal2021-02-011-1/+2
| | | | Fixes: #19198
* Code style: add missed explicit 'this->'Oleksandr Koval2021-01-051-1/+1
| | | | | CMake uses explicit 'this->' style. Using custom clang-tidy check we can detect and fix places where 'this->' was missed.
* file(GENERATE): Support options to manipulate file permissionsAsit Dhal2020-12-211-1/+1
| | | | Fixes: #15653
* cmLocalGenerator: Adopt custom target 'force' output name generationBrad King2020-12-151-5/+0
|
* cmMakefile: Simplify custom target 'force' output name generationBrad King2020-12-151-2/+2
| | | | | | | | | | | | | | | Remove unnecessary check of policy CMP0049. The policy can never trigger on our internally-generated name because it has no variable references. The rename in commit 0ed5ce4cd8 (cmTarget: Rename AddSource method for backward compatibility., 2014-03-17, v3.1.0-rc1~688^2~17) made it look like this code path depended on CMP0049. Then commit 0e1faa28cb (cmMakefile: Separate custom command setup from actual creation, 2019-09-14, v3.16.0-rc1~85^2) and commit ea1bed34b2 (cmMakefile: Extract utilities used for creation of custom commands, 2019-09-21, v3.16.0-rc1~52^2~1) built additional infrastructure to thread that dependence through the call stack. Remove it all.
* Reduce the scope of temporary cmProp variables and other improvementsVitaly Stakhovsky2020-11-051-2/+1
|
* configure_file: Add option for user defined permissionsAsit Dhal2020-10-241-2/+3
| | | | | | | User defined permissions and options to copy permissions are implemented. Fixes: #20866
* Constify some code as suggested by clang-tidyCengizhan Pasaoglu2020-10-191-5/+5
|
* cmMakefile: Consolidate CreateGenerated{Outputs,Byproducts}Brad King2020-10-081-1/+0
| | | | | The implementations of these two methods are now identical, so combine them.
* cmLocalGenerator: Migrate custom command output lookup from cmMakefileBrad King2020-10-081-75/+5
| | | | | | | Since commit 777ceaea94 (cmMakefile: Delay custom command creation, 2019-10-17, v3.17.0-rc1~352^2) we process custom command declarations at generate time. Therefore we do not need to look up what source file holds the custom command producing a given output until generate time.
* cmMakefile: Drop unnecessary custom command APPEND checkBrad King2020-10-081-11/+1
| | | | | | | Since commit 777ceaea94 (cmMakefile: Delay custom command creation, 2019-10-17, v3.17.0-rc1~352^2) we process custom command declarations at generate time. This includes the append-to-non-existing-command check, so we do not need it at configure time.