summaryrefslogtreecommitdiffstats
path: root/Source/cmTarget.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'cmTarget-refactorings'Brad King2023-02-011-389/+335
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 33f629184f cmTarget: simplify `CheckLinkLibraryPattern` 22b9ce73e7 cmTarget: refactor INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE usage requirements 332d2f8f52 cmTarget: refactor INTERFACE_LINK_LIBRARIES_DIRECT usage requirements 15eec07500 cmTarget: refactor INTERFACE_LINK_LIBRARIES usage requirements e80689d101 cmTarget: refactor LINK_LIBRARIES usage requirements 4f009d2121 cmTarget: refactor LINK_DIRECTORIES usage requirements 99e783e735 cmTarget: refactor LINK_OPTIONS usage requirements fd295dd263 cmTarget: refactor SOURCES usage requirements ... Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8127
| * cmTarget: simplify `CheckLinkLibraryPattern`Ben Boeckel2023-01-311-13/+8
| | | | | | | | | | Now that usage properties have more of a representation, the function can just take the requirement directly.
| * cmTarget: refactor INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE usage requirementsBen Boeckel2023-01-311-27/+9
| |
| * cmTarget: refactor INTERFACE_LINK_LIBRARIES_DIRECT usage requirementsBen Boeckel2023-01-311-42/+42
| |
| * cmTarget: refactor INTERFACE_LINK_LIBRARIES usage requirementsBen Boeckel2023-01-311-28/+9
| |
| * cmTarget: refactor LINK_LIBRARIES usage requirementsBen Boeckel2023-01-311-25/+9
| |
| * cmTarget: refactor LINK_DIRECTORIES usage requirementsBen Boeckel2023-01-311-35/+14
| |
| * cmTarget: refactor LINK_OPTIONS usage requirementsBen Boeckel2023-01-311-31/+14
| |
| * cmTarget: refactor SOURCES usage requirementsBen Boeckel2023-01-311-32/+19
| |
| * cmTarget: refactor PRECOMPILE_HEADERS usage requirementsBen Boeckel2023-01-311-43/+23
| |
| * cmTarget: refactor COMPILE_DEFINITIONS usage requirementsBen Boeckel2023-01-311-25/+10
| |
| * cmTarget: refactor COMPILE_FEATURES usage requirementsBen Boeckel2023-01-311-25/+9
| |
| * cmTarget: refactor COMPILE_OPTIONS usage requirementsBen Boeckel2023-01-311-30/+14
| |
| * cmTarget: refactor INCLUDE_DIRECTORIES usage requirementsBen Boeckel2023-01-311-31/+47
| |
| * cmTarget: introduce a `UsageRequirementProperty` structureBen Boeckel2023-01-311-0/+105
| | | | | | | | | | | | This structure will encapsulate the behaviors of usage requirements. There are a number of them now and they all behave very similarly, so try to reduce the code duplication as much as possible.
| * cmTarget: use cmNonempty rather than local implementationBen Boeckel2023-01-271-22/+2
| |
| * cmTarget: use an enum for the action when writing fileset propertiesBen Boeckel2023-01-271-18/+35
| |
| * cmTarget: simplify fileset type property managementBen Boeckel2023-01-271-34/+38
| | | | | | | | | | Instead of copy/pasting conditionals for each fileset type, just make an array of the structures and iterate over them.
* | cmTarget: use static string views for per-config propertiesBen Boeckel2023-01-301-6/+5
| |
* | cmTarget: group remaining propertiesBen Boeckel2023-01-301-1/+8
| | | | | | | | These are kind of a mixed assortment.
* | cmTarget: put build graph-related properties into a groupBen Boeckel2023-01-301-15/+23
| |
* | cmTarget: put static analysis (co-compile) properties in a groupBen Boeckel2023-01-301-15/+22
| |
* | cmTarget: put linking-related properties in a groupBen Boeckel2023-01-301-27/+43
| |
* | cmTarget: put compile-related properties in a groupBen Boeckel2023-01-301-44/+66
|/
* Make vector operations more efficientRose2022-12-101-2/+2
|
* clang-tidy: add <LANG>_CLANG_TIDY_EXPORT_FIXES_DIR propertyKyle Edwards2022-12-061-0/+4
| | | | Fixes: #21362
* cxxmodules: add properties to control scanningBen Boeckel2022-11-181-0/+1
| | | | | | The `CXX_SCAN_FOR_MODULES` property may be used to control scanning for targets and for source files rather than assuming "C++20 always needs to be scanned".
* cmGeneratorExpression: Require cmake instanceKyle Edwards2022-11-111-2/+3
|
* 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 'MsvcDebugInformationFormatAbstraction'Brad King2022-09-141-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | a858466aac MSVC: Add test for debug information format 0e96a20478 MSVC: Add abstraction for debug information format d4c8111da4 Clang/Windows: Clarify name of internal runtime library flags variables Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7606
| * | MSVC: Add abstraction for debug information formatGlen Chung2022-09-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace our hard-coded default for `/Zi` with a first-class abstraction to select the debug information format an enumeration of logical names. We've long hesitated to do this because the idea of "debug information format" touches on related concepts on several platforms. Avoid that scope creep by simply defining an abstraction that applies only when targeting the MSVC ABI on Windows. Removing the old default flag requires a policy because existing projects may rely on string processing to edit them and choose a runtime library under the old behavior. Add policy CMP0141 to provide compatibility. Fixes: #10189
* | | Merge topic 'check-library-properties-fix-performances-regression'Brad King2022-09-091-35/+47
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 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-34/+46
| | | | | | | | | | | | Fixes: #23939
| * | renames method FinalizeTargetCompileInfo() in FinalizeTargetConfiguration().Marc Chevrier2022-09-071-1/+1
| | |
* | | Merge topic 'xcode-add-gpu-validation-and-default-configuration'Brad King2022-08-311-0/+3
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 740bee97bd Xcode: Add settings to control a scheme's launch configuration 39456c70e1 Xcode: Add settings to control a scheme's GPU Validation values 4034272ed8 gitignore: Tell Git to ignore the .cache/ directory Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7581
| * | | Xcode: Add settings to control a scheme's launch configurationPatriceJiang2022-08-301-0/+1
| | | |
| * | | Xcode: Add settings to control a scheme's GPU Validation valuesPatriceJiang2022-08-301-0/+2
| | | |
* | | | target_*: Fix cross-directory call backtracesBrad King2022-08-221-14/+23
|/ / / | | | | | | | | | | | | | | | | | | Record the call-site backtrace, not the current backtrace of the target's directory. Fixes: #23873
* | | Merge topic 'verify-interface-header-sets-add-compile-definitions'Brad King2022-07-281-0/+45
|\ \ \ | |/ / | | / | |/ |/| | | | | | | 27fd172d8d VERIFY_INTERFACE_HEADER_SETS: Finalize compile info for verify targets 626e641a19 cmTarget: Factor out FinalizeTargetCompileInfo() Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7516
| * cmTarget: Factor out FinalizeTargetCompileInfo()Kyle Edwards2022-07-271-0/+45
| |
* | Merge topic 'vs-compile-batching'Brad King2022-06-231-0/+1
|\ \ | |/ | | | | | | | | | | | | | | 9a0a94fdaa VS: Add variable to to turn off Visual Studio compile batching a7ebb73929 Help: Improve formatting in VS_NO_COMPILE_BATCHING docs Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7405
| * VS: Add variable to to turn off Visual Studio compile batchingBrad King2022-06-221-0/+1
| | | | | | | | | | | | | | | | | | Extend the change from commit b764c7c273 (VS: Add property to turn off Visual Studio compile batching, 2022-02-07, v3.24.0-rc1~710^2) by adding a variable to initialize the property on every target. Issue: #23179 Fixes: #23639
* | Merge topic 'cpp-named-module-file-sets'Brad King2022-06-171-0/+79
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 07bc3b07ec gitlab-ci: test C++ modules using GCC 1b2270aa4e ci: add a Docker image to test out C++ modules with GCC 8c5a53096a Tests/RunCMake/CXXModules: add module-using examples 4151547e2f cmGlobalNinjaGenerator: use `cmModuleMapper` implementation b43bdaff3c cmCxxModuleMapper: implement support for GCC's module map format 02d0f0e752 cmCxxModuleMapper: add source to handle module mapper contents a046a45aad cmGlobalNinjaGenerator: add a TODO for header units 386465bf83 cmTarget: add support for C++ module fileset types ... Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !7369
| * | cmTarget: add support for C++ module fileset typesBen Boeckel2022-06-161-0/+79
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | C++ modules have two variants which are of importance to CMake: - `CXX_MODULES`: interface modules (those using `export module M;`, `export module M:part;`, or `module M:internal_part;`) - `CXX_MODULE_HEADER_UNITS`: importable header units Creating C++ modules or partitions are *not* supported in any other source listing. This is because the source files must be installed (so their scope matters), but not part of usage requirements (what it means for a module source to be injected into a consumer is not clear at this moment). Due to the way `FILE_SET` works with scopes, they are a perfect fit as long as `INTERFACE` is not allowed (which it is not).
* | Merge topic 'add_SYSTEM_prop'Brad King2022-06-161-0/+4
|\ \ | | | | | | | | | | | | | | | | | | | | | 69beee5314 Add SYSTEM target property Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !7308
| * | Add SYSTEM target propertyDa Quexian2022-06-151-0/+4
| |/ | | | | | | | | | | | | | | If it is ON, treat INTERFACE_INCLUDE_DIRECTORIES as system include directories. Issue: #18040 Signed-off-by: Da Quexian <daquexian566@gmail.com>
* | Xcode: Add Xcode SCHEME control for 'Launch' controlHarry Mallon2022-06-151-0/+1
|/
* VERIFY_HEADER_SETS: Rename to VERIFY_INTERFACE_HEADER_SETSKyle Edwards2022-05-181-1/+1
| | | | Issue: #23448
* Merge topic 'werror-property'Brad King2022-05-101-0/+1
|\ | | | | | | | | | | | | | | | | 76a08cd253 COMPILE_WARNING_AS_ERROR: Add options to treat warnings as errors Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Acked-by: Michael Hirsch <michael@scivision.dev> Merge-request: !7187