summaryrefslogtreecommitdiffstats
path: root/Source/cmTarget.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Xcode: Restore CMAKE_XCODE_GENERATE_SCHEME for custom targetsBrad King2019-10-021-1/+6
| | | | | | | | | The target property introduced by commit 413b71485a (Xcode: Create Xcode schemes per target, 2019-03-11, v3.15.0-rc1~347^2) was accidentally not initialized by `CMAKE_XCODE_GENERATE_SCHEME` for custom targets. Fix it and update the test. Fixes: #19759
* fileapi: Fix codemodel target install destination for cross-dir rulesBrad King2019-07-311-0/+12
| | | | | | | | | | | | Since commit e89ad0f94e (install: Allow installing targets created in another directory, 2018-06-18, v3.13.0-rc1~407^2) we support calling `install(TARGETS)` for targets created in another directory. However, install generators are associated with the directory in which the call to `install()` appears. This may not be the same directory in which the target is defined. Record in each target the list of install generators it has. Fixes: #19546
* Use cmAppend to append ranges to std::vector instancesSebastian Holtermann2019-05-231-22/+16
|
* Add variable CMAKE_FRAMEWORKRuslan Baratov2019-05-211-0/+1
|
* Ninja: add placeholders to support Swift buildSaleem Abdulrasool2019-05-161-0/+1
| | | | Add the placeholders needed to support compiling Swift code.
* MSVC: Add support for /JMC (Just My Code)Luca Cappa2019-05-141-0/+1
|
* MSVC: Add abstraction for runtime library selectionBrad King2019-04-171-0/+1
| | | | | | | | | | | | | | | | Replace our hard-coded defaults for `/MD` and `/MDd` with a first-class abstraction to select the runtime library from an enumeration of logical names. We've long hesitated to do this because the idea of "runtime library selection" 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 flags 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 CMP0091 to provide compatibility. Fixes: #19108
* 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