summaryrefslogtreecommitdiffstats
path: root/Source/cmTarget.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Fix invalid ///! doxygen comment line startsSebastian Holtermann2019-03-311-1/+1
| | | | | In various places `///!` was used to start a comment line. This is not valid Doygen syntax. This patch replaces `///!` comment starts with `//!`.
* cmTarget: Use std::unique_ptr instead of custom smart pointerSebastian Holtermann2019-03-231-34/+6
| | | | | | | | To manage the lifetime of `cmTargetInternals`, the private implementation of `cmTarget`, use `std::unique_ptr<cmTargetInternals>` instead of `cmTargetInternalPointer`, which is removed. `cmTarget` is made non-copyable but movable.
* cmTarget: Make private `SetPropertyDefault` an in code lambda `InitProperty`Sebastian Holtermann2019-03-231-130/+124
|
* cmTarget: Inline private HasImportLibrary methodSebastian Holtermann2019-03-231-8/+3
|
* cmTarget: Move member method `CheckImportedLibName` to implSebastian Holtermann2019-03-231-8/+11
|
* cmTarget: Move member method `ProcessSourceItemCMP0049()` to implSebastian Holtermann2019-03-231-7/+10
|
* cmTarget: Move member booleans to implSebastian Holtermann2019-03-231-16/+53
|
* cmTarget: Move member `*Commands` to implSebastian Holtermann2019-03-231-0/+34
|
* cmTarget: Move member `RuntimeInstallPath` to implSebastian Holtermann2019-03-231-0/+11
|
* cmTarget: Move member `InstallPath` to implSebastian Holtermann2019-03-231-0/+11
|
* cmTarget: Move member `Name` to implSebastian Holtermann2019-03-231-11/+17
|
* cmTarget: Move member `TLLCommands` to implSebastian Holtermann2019-03-231-5/+7
|
* cmTarget: Move member `Backtrace` to implSebastian Holtermann2019-03-231-2/+3
|
* cmTarget: Move member `PolicyMap` to implSebastian Holtermann2019-03-231-2/+14
|
* cmTarget: Move member `OriginalLinkLibraries` to implSebastian Holtermann2019-03-231-1/+8
|
* cmTarget: Move member `Utilities` to implSebastian Holtermann2019-03-231-5/+11
|
* cmTarget: Move member `SystemIncludeDirectories` to implSebastian Holtermann2019-03-231-2/+8
|
* cmTarget: Move member `Properties` to impl classSebastian Holtermann2019-03-231-3/+10
|
* cmTarget: Move member `Makefile` to implSebastian Holtermann2019-03-231-77/+80
|
* cmTarget: Move member `TargetType` to implSebastian Holtermann2019-03-231-13/+19
|
* cmTarget: Rename member `Internal` to `impl`Sebastian Holtermann2019-03-231-129/+123
|
* Merge topic 'cmTarget_micro_fixes'Brad King2019-03-221-57/+34
|\ | | | | | | | | | | | | | | 965da8d787 cmTarget: Acquire data only when needed 03d17a35b5 cmTarget: Use helper function to append to lists Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3135
| * cmTarget: Acquire data only when neededSebastian Holtermann2019-03-211-4/+3
| |
| * cmTarget: Use helper function to append to listsSebastian Holtermann2019-03-211-53/+31
| |
* | Xcode: Create Xcode schemes per targetHarry Mallon2019-03-211-0/+1
|/
* cmRange: Move to dedicated header fileRegina Pfeifer2019-02-211-0/+1
|
* Modernize: C-arrays and loops over themArtur Ryt2019-02-151-5/+6
| | | | | It replaces C arrays with deduced std::initializer_lists or std::array what makes enables for-loop over them.
* Modernize: Use ranged for-loops when possibleArtur Ryt2019-02-071-4/+2
| | | | | | | Replaced most manual `const_iterator`-based loops and some reverse-iterator loops with range loops. Fixes: #18858
* cmOutputConverter: move ConvertToRelativePath to cmStateDirectory.Bruno Manganelli2019-01-271-3/+3
|
* Merge topic 'autogen_mocs_compilation_first'Brad King2019-01-211-3/+9
|\ | | | | | | | | | | | | | | | | 1ed4d48dcf Autogen: Prepend instead of append `mocs_compilation.cpp` to the sources list a42b700cc2 cmTarget,cmGeneratorTarget: Add optional `before` parameter to AddSource Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Peter Wu <peter@lekensteyn.nl> Merge-request: !2815
| * cmTarget,cmGeneratorTarget: Add optional `before` parameter to AddSourceSebastian Holtermann2019-01-181-3/+9
| | | | | | | | | | | | The new optional `before` parameter in `cmTarget::AddSource` and `cmGeneratorTarget::AddSource` allows to prepend a source file to the sources list instead of appending it.
* | clang-tidy: Use emplaceRegina Pfeifer2019-01-171-17/+17
|/
* Factor out enum MessageType into dedicated headerBruno Manganelli2019-01-161-23/+24
| | | | Reduce the number of files relying on `cmake.h`.
* cmTarget: Remove unused classes cmTargetSet and cmTargetManifestArtur Ryt2018-12-061-1/+0
|
* Using front() and back() instead of calculationsCengizhan Pasaoglu2018-11-061-1/+1
|
* Autogen: Add (CMAKE_)AUTOGEN_ORIGIN_DEPENDS supportSebastian Holtermann2018-11-031-0/+1
| | | | | | | | | | | | | | | This adds - the variable ``CMAKE_AUTOGEN_ORIGIN_DEPENDS`` which initializes - the target property ``AUTOGEN_ORIGIN_DEPENDS`` which controls whether or not the origin target dependencies should be forwarded to the corresponding ``_autogen`` target. The default value of ``CMAKE_AUTOGEN_ORIGIN_DEPENDS`` is ``ON`` which corresponds to the behavior that is in place since CMake 3.9. Closes: #18493
* RPATH: Add option for using $ORIGIN in build treePeter Wu2018-10-261-0/+1
| | | | | | | | | This makes binaries independent of the build directory by not embedding the build directory via RPATH. The tests are partially based on the existing RuntimePath test, but with the check moved into a POST_BUILD command such that it can be skipped when the platform lacks support. Fixes: #18413
* add_dependencies: Track backtraces internallyBrad King2018-10-181-17/+3
| | | | | Record backtraces for "utility" dependencies created by `add_dependencies` calls.
* Merge topic 'vs-global-props-for-all-targets'Brad King2018-09-281-0/+25
|\ | | | | | | | | | | | | | | 36489b85aa VS: Add test for CMAKE_VS_GLOBALS 22e670a306 VS: Add option to set VS_GLOBAL_* for all targets Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2345
| * VS: Add option to set VS_GLOBAL_* for all targetsMikhail Korolev2018-09-251-0/+25
| | | | | | | | Fixes: #18287
* | LINK_DIRECTORIES: Add new properties and commandsMarc Chevrier2018-09-251-13/+66
| | | | | | | | | | | | | | | | | | | | | | | | These new capabilities enable to manage link directories Two new properties: * target properties: LINK_DIRECTORIES and INTERFACE_LINK_DIRECTORIES One new command * target_link_directories(): to populate target properties Fixes: #17215
* | Refactoring: introduce function to check if a string is a generator expressionMarc Chevrier2018-09-251-3/+1
|/
* Merge topic 'getsafedef-stdstring'Brad King2018-09-181-4/+2
|\ | | | | | | | | | | | | f4ff60a803 cmMakefile: Make GetSafeDefinition return std::string const& Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2350
| * cmMakefile: Make GetSafeDefinition return std::string const&Vitaly Stakhovsky2018-09-181-4/+2
| |
* | target_link_libraries: Allow use with targets in other directoriesBrad King2018-09-121-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously the command did not allow naming targets on the LHS that were not created in the calling directory. Lift this restriction to enable more flexible use by projects. Targets named on the RHS will need to be looked up during generation in the scope of the call site rather than the scope of the LHS target. Introduce an internal syntax in `[INTERFACE_]LINK_LIBRARIES` properties to specify target names that need to be looked up in a directory other than that containing the target on which the property is set. Add minimal documentation of the syntax to help users that encounter it. Unfortunately CMake previously did allow such calls in the case that only `INTERFACE` libraries are specified, but those libraries would be looked up in the target's directory rather than the caller's. Add policy `CMP0079` to enable the new behavior with new lookup scope in a compatible way. Fixes: #17943
* | cmTarget: Future-proof AddLinkLibrary target lookup scopeBrad King2018-09-121-1/+1
|/ | | | | | | | | The `AddLinkLibrary` method takes a `cmMakefile` pointer to represent the scope of the caller that wants to link to the named library. Currently in all call sites this is the same as the target's `Makefile` member, but in principle the library named by the caller is visible in its scope so we should use the `cmMakefile` it provided to look up the library target.
* cmMakefile: return directories as const std::string&Vitaly Stakhovsky2018-08-271-4/+5
|
* cmStateDirectory: use const std::string& for return valuesVitaly Stakhovsky2018-08-121-2/+4
|
* Xcode: Add variables and properties to configure schemesGregor Jasny2018-08-011-0/+25
| | | | | | | | | Add `XCODE_SCHEME_*` target properties and associated variables `CMAKE_XCODE_SCHEME_*` to initialize them on target creation. Map each target property value to an associated Xcode scheme entry. Co-Author: Martin Sander <mail@martin-sander.de> Fixes: #17919
* Add GetSafeProperty method to cmTarget, cmGeneratorTarget and cmSourceFileSebastian Holtermann2018-07-021-0/+9
|