summaryrefslogtreecommitdiffstats
path: root/Source/cmTarget.cxx
Commit message (Collapse)AuthorAgeFilesLines
...
| * 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
| * COMPILE_WARNING_AS_ERROR: Add options to treat warnings as errorsMartin Duffy2022-05-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Add `COMPILE_WARNING_AS_ERROR` target property and supporting `CMAKE_COMPILE_WARNING_AS_ERROR` variable. `COMPILE_WARNING_AS_ERROR` is initialized by `CMAKE_COMPILE_WARNING_AS_ERROR`. It is a boolean variable. If it is true, it expands to a different flag depending on the compiler such that any warnings at compile will be treated as errors. Supports compiler ids that I could find a relevant flag for.
* | OpenWatcom: Allow specifying the runtime libraryCameron Cawley2022-05-061-0/+1
| | | | | | | | | | | | | | | | Add a `CMAKE_WATCOM_RUNTIME_LIBRARY` variable to control the runtime library selection. Add policy CMP0136 to switch to in place of the old hard-coded default flags. Fixes: #23178
* | cmTarget: add support for querying all file set namesBen Boeckel2022-04-271-0/+11
| |
* | cmTarget: avoid creating export entries if they don't existBen Boeckel2022-04-271-1/+6
| |
* | cmTarget: factor out fileset type handlingBen Boeckel2022-04-251-132/+203
| | | | | | | | | | This allows for new fileset types to be added more easily by factoring out the declarative information into a structure.
* | cmTarget: require filesets to be of the right typeBen Boeckel2022-04-251-34/+61
| | | | | | | | | | | | With new types being proposed for C++ modules, requiring filesets to be of the right type is now pertinent. No tests can be added yet as only `HEADERS` is supported right now.
* | cmTarget: factor out fileset property manipulationBen Boeckel2022-04-251-116/+114
| |
* | cmTarget: pass candidate strings by const-refBen Boeckel2022-04-251-3/+3
| | | | | | | | This avoids having to copy the `std::string` overload.
* | Merge topic 'xcode-universal'Brad King2022-04-141-0/+5
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 40dd46a96a Xcode: Add tests for OBJECT library per target `OSX_ARCHITECTURES` da4ccb502b Xcode: Check for multiple `OSX_ARCHITECTURES` on target 41ba35a42b cmTarget: Add `HasKnownObjectFileLocation()` shorthand Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7154