summaryrefslogtreecommitdiffstats
path: root/Source/cmMakefile.cxx
Commit message (Collapse)AuthorAgeFilesLines
* cmCommonTargetGenerator: use modules from linked object-referenced targetsBen Boeckel2023-11-231-0/+3
| | | | | | | | Fortran modules provided by objects added as linked items via `$<TARGET_OBJECTS>` should also be considered as "linked targets" for collation purposes. As C++ modules have their own visibility rules through their `FILE_SET` feature, do not expose these for C++ module collation.
* codespell: Fix typosBrad King2023-11-171-1/+1
|
* .xcframework: Check SupportedPlatformVariantKyle Edwards2023-08-151-0/+11
|
* IWYU: Update for Debian 12 CI jobBrad King2023-07-281-0/+1
| | | | | | `include-what-you-use` diagnostics, in practice, are specific to the environment's compiler and standard library. Update includes to satisfy IWYU for our CI job under Debian 12.
* cmMakefile: use single characters where possibleBen Boeckel2023-07-191-6/+6
|
* cmMakefile: use static string views in some locationsBen Boeckel2023-07-191-10/+9
|
* cmMakefile: use `cmStrCat` where possibleBen Boeckel2023-07-191-21/+26
|
* apple: add preliminary visionOS supportGregor Jasny2023-07-111-0/+2
|
* cmList: Add container conversion to stringMarc Chevrier2023-06-221-5/+4
|
* Add deprecation warnings for policies CMP0120 and belowBrad King2023-06-071-1/+1
| | | | | | | The OLD behaviors of all policies are deprecated, but only by documentation. Add an explicit deprecation diagnostic for policies introduced in CMake 3.20 and below to encourage projects to port away from setting policies to OLD.
* Merge topic 'AddCacheEntry-suppress-raw-pointer-usage'Brad King2023-05-311-9/+7
|\ | | | | | | | | | | | | | | 4fc322bab4 AddCacheEntry: Suppress raw pointer usage Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8520
| * AddCacheEntry: Suppress raw pointer usageMarc Chevrier2023-05-301-9/+7
| |
* | cmake: Add debuggerGlen Chung2023-05-301-0/+95
|/ | | | | | | | | | | | | | | | - Depends on cppdap and jsoncpp. - Add --debugger argument to enable the Debugger. - Add --debugger-pipe argument for DAP traffics over named pipes. - Support breakpoints by filenames and line numbers. - Support exception breakpoints. - Call stack shows filenames and line numbers. - Show Cache Variables. - Show the state of currently defined targets, tests and directories with their properties. - Add cmakeVersion to DAP initialize response. - Include unit tests. Co-authored-by: Ben McMorran <bemcmorr@microsoft.com>
* SetProperty: suppress raw pointer usageMarc Chevrier2023-05-261-4/+0
|
* CMake code rely on cmList class for CMake lists management (part. 2)Marc Chevrier2023-04-291-29/+11
|
* CMake code rely on cmList class for CMake lists management (part. 1)Marc Chevrier2023-04-241-9/+8
|
* presets: Add trace options to configure presetsArtin Alavi2023-03-301-4/+4
| | | | | | Add JSON schema version 7 to support them. Fixes: #22543
* Merge topic 'recursion-limit'Brad King2023-03-141-14/+42
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 49167cf68f Source: Adjust stack sizes and recursion limits to work together 9504cef8c4 Tests: Allow RunCMake.MaxRecursionDepth to test public-facing default limit 60ef076bac find_package: Enforce maximum nesting depth below maximum recursion depth 89b69bf1ad Add CMAKE_MAXIMUM_RECURSION_DEPTH environment variable 395895bda7 cmMakefile: Factor out helper to get recursion depth limit 88bc8dfc14 cmMakefile: Store recursion depth limit as size_t fcad8d0630 cmMakefile: Improve parsing of CMAKE_MAXIMUM_RECURSION_DEPTH variable 497f7d5c1a Tests: Simplify option passing to RunCMake.MaxRecursionDepth cases Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8307
| * Source: Adjust stack sizes and recursion limits to work togetherBrad King2023-03-131-0/+18
| | | | | | | | | | | | Adjust `CMake_DEFAULT_RECURSION_LIMIT` and/or the process stack size on each platform to pass the `RunCMake.MaxRecursionDepth` test's "default" cases.
| * Add CMAKE_MAXIMUM_RECURSION_DEPTH environment variableBrad King2023-03-131-0/+6
| | | | | | | | | | | | | | Extend the recursion limit controls added by commit a6982cff0d (cmMakefile: Impose maximum recursion limit, 2018-12-14, v3.14.0-rc1~82^2) with an environment variable that is used if the CMake variable of the same name is not set.
| * cmMakefile: Factor out helper to get recursion depth limitBrad King2023-03-131-10/+16
| |
| * cmMakefile: Store recursion depth limit as size_tBrad King2023-03-131-5/+4
| |
| * cmMakefile: Improve parsing of CMAKE_MAXIMUM_RECURSION_DEPTH variableBrad King2023-03-091-6/+5
| |
* | Treat '.ccm', '.cxxm', and '.c++m' files as C++ sourcesBrad King2023-03-091-1/+1
|/ | | | | | | | | These extensions are used by convention for C++ module interface units with Clang. For now, do not add any tests using these extensions. Very few compilers recognize them as C++ sources. Tests can be added later as part of C++ modules support.
* Apple: Handle generation and comsuption of text-based stubs (.tbd files)Marc Chevrier2023-03-011-0/+5
| | | | Fixes: #24123
* find_package: Use <PACKAGENAME>_ROOT variables as search prefixesBrad King2023-02-231-0/+21
| | | | | | | | | 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-16/+10
|
* cmMakefile: add support for a "synthesized" targetBen Boeckel2023-02-141-3/+12
| | | | | | 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.
* cmTarget: make Visibility an `enum class`Ben Boeckel2023-02-141-3/+3
|
* cmCustomCommand: Refactor custom command-specific policy valuesKyle Edwards2023-02-061-3/+3
| | | | | | | | | | | | | | | | | Many custom commands are created by CMake itself rather than by the user. These custom commands should always have their policies set to NEW, and user-created custom commands should have their policy values set only from the state snapshot. In addition, we want to genericize the mechanism of recording a policy at the time of custom command creation. Add a CM_FOR_EACH_CUSTOM_COMMAND_POLICY macro to genericize custom command policies. Use this to define all custom command policies. Make all such policies NEW instead of WARN by default. Remove individual policy modifier methods and add a single method that records relevant values from a cmStateSnapshot. Remove the no longer needed explicit policy settings from synthesized custom commands.
* Add deprecation warnings for policies CMP0114 and belowBrad King2023-02-011-1/+1
| | | | | | | The OLD behaviors of all policies are deprecated, but only by documentation. Add an explicit deprecation diagnostic for policies introduced in CMake 3.19 and below to encourage projects to port away from setting policies to OLD.
* cmValue: Use operator* explicitly to convert to std::string; avoid extra callVitaly Stakhovsky2023-01-161-1/+2
|
* cmake::CreateProfilingEntry: Refactor to take lambda for argsKyle Edwards2022-11-111-1/+14
|
* cmMakefileProfilingData: Refactor to use RAIIKyle Edwards2022-10-261-7/+6
| | | | And add a more generic StartEntry() method.
* Merge topic 'trace-try_compile'Brad King2022-10-171-0/+3
|\ | | | | | | | | | | | | | | 5ba51621af try_compile: Propagate --trace through try_compile Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !7757
| * try_compile: Propagate --trace through try_compileMatthew Woehlke2022-10-111-0/+3
| | | | | | | | | | Add ability to specify another cmake instance from which to get the trace output target. Use this during try_compile.
* | Add deprecation warnings for policies CMP0108 and belowBrad King2022-10-121-2/+2
|/ | | | | | | The OLD behaviors of all policies are deprecated, but only by documentation. Add an explicit deprecation diagnostic for policies introduced in CMake 3.18 and below to encourage projects to port away from setting policies to OLD.
* Merge topic 'add_subdirectory_system'Brad King2022-09-271-1/+5
|\ | | | | | | | | | | | | 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/+5
| | | | | | | | | | Fixes: #22401 Signed-off-by: Da Quexian <daquexian566@gmail.com>
* | Merge topic 'check-library-properties-fix-performances-regression'Brad King2022-09-091-25/+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-25/+0
| | | | | | | | | | | | Fixes: #23939
* | | return(): Propagate variables to result scopeMarc Chevrier2022-09-031-0/+1
| | | | | | | | | | | | Fixes: #23871
* | | cmMakefile: add RaiseScope for list of variablesMarc Chevrier2022-09-031-0/+12
| | |
* | | cmMakefile::VariablePushPop: helper class to manage variable scopesMarc Chevrier2022-08-221-0/+13
| | |
* | | cmMakefile: Dedupe languages when enabling themfriendlyanon2022-06-301-2/+24
| | | | | | | | | | | | | | | | | | | | | | | | cmMakefile::EnableLanguage() now deduplicates the languages argument and emits an author warning listing the languages that were defined multiple times in a single call. Fixes: #23596
* | | cmMakefile: Refactor parameter and variable names for EnableLanguagefriendlyanon2022-06-301-12/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 731369ef9c (ENH: try to initialize all languages at the same time, 2004-08-27, v2.4.0~2899) the languages parameter name for cmMakefile::EnableLanguage() was changed to "std::vector languages" in the declaration, however the definition had "std::vector lang". Furthermore, the variable names in the definition had confusing names, such as the "i" variable in the loop which referred to an iterator at one point, but no longer does.
* | | Add cmake_language(GET_MESSAGE_LOG_LEVEL) sub commandAlexandru Croitor2022-06-281-0/+23
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Add deprecation warnings for policies CMP0102 and belowBrad King2022-06-141-1/+1
|/ | | | | | | The OLD behaviors of all policies are deprecated, but only by documentation. Add an explicit deprecation diagnostic for policies introduced in CMake 3.17 and below to encourage projects to port away from setting policies to OLD.
* cmSystemTools: Fix 'ErrorOccurred' spellingFeRD (Frank Dana)2022-06-131-19/+19
| | | | | | | | Rename the booleans 's_ErrorOccured' and 's_FatalErrorOccured' to 's_ErrorOccurred' and 's_FatalErrorOccurred', respectively. Rename the getters and setters to 'Get[Fatal]ErrorOccurred' and 'Set[Fatal]ErrorOccurred', and fix all uses across the codebase.
* clang-tidy: address `google-readability-casting` lintsBen Boeckel2022-05-241-1/+1
| | | | At least those involving `static_cast`.