summaryrefslogtreecommitdiffstats
path: root/Source/cmGeneratorTarget.h
Commit message (Collapse)AuthorAgeFilesLines
* cmState: Port dependents to new cmStateTypes headerStephen Kelly2016-10-191-1/+1
|
* cmState: Move TargetType enum to separate namespaceStephen Kelly2016-10-191-2/+2
|
* Merge topic 'extract-computed-target-properties'Brad King2016-10-171-0/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cef59bb8 cmTarget: Implement GetProperty in terms of cmState::Snapshot 0d57b07a cmTarget: Group code for checking written properties together c3fb0d95 cmTarget: Move sanity checks and computed property access to callers fa9dbc56 cmGeneratorTarget: Implement cmTargetPropertyComputer interface 848ae2a6 cmTargetPropertyComputer: Template some methods on the Target a0a720e6 cm{,Generator}Target: Add global generator accessors 637e3f3e cmTargetPropertyComputer: Unify whitelist handling from cmTarget 05251e6d cmTargetPropertyComputer: Move whitelist check from cmTarget fbf1721c cmTargetPropertyComputer: Extract into new files 390a7d86 cmTargetPropertyComputer: Implement GetProperty without cmMakefile e32a6bdd cmListFileBacktrace: Add a method to retrieve the Bottom of a snapshot 7863fba1 cmTarget: Extract GetLocation method 8096682e cmTarget: Extract GetSources method 7d57c1a2 cmTarget: Extract location computation methods a55cac4b cmTarget: Split property computation into separate class 705fcf52 cmTarget: Move IMPORTED check to callers ...
| * cmGeneratorTarget: Implement cmTargetPropertyComputer interfaceStephen Kelly2016-10-151-0/+2
| | | | | | | | | | | | | | | | | | Populate a local member for the sources property when the instance is created. Pass the parameter to avoid the policy check when doing so. Ordinarily, the GetSources function should not be called unconditionally (at generate time), but we need to do so here in case the property is read in a generator expression. The intent is to be able to implement cmGeneratorTarget without requiring cmTarget.
| * cm{,Generator}Target: Add global generator accessorsStephen Kelly2016-10-151-0/+2
| | | | | | | | | | Provide 'static polymorphism' between the types in this aspect so that they can be used indiscriminately in a C++ template.
* | Factor IDE folder name retrieval out into helper methodGregor Jasny2016-10-171-0/+3
|/ | | | | | Add a `cmGeneratorTarget::GetEffectiveFolderName` helper to abstract lookup of the `FOLDER` property in combination with checking for generator support of folders.
* Simplify CMake per-source license noticesBrad King2016-09-271-11/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Per-source copyright/license notice headers that spell out copyright holder names and years are hard to maintain and often out-of-date or plain wrong. Precise contributor information is already maintained automatically by the version control tool. Ultimately it is the receiver of a file who is responsible for determining its licensing status, and per-source notices are merely a convenience. Therefore it is simpler and more accurate for each source to have a generic notice of the license name and references to more detailed information on copyright holders and full license terms. Our `Copyright.txt` file now contains a list of Contributors whose names appeared source-level copyright notices. It also references version control history for more precise information. Therefore we no longer need to spell out the list of Contributors in each source file notice. Replace CMake per-source copyright/license notice headers with a short description of the license and links to `Copyright.txt` and online information available from "https://cmake.org/licensing". The online URL also handles cases of modules being copied out of our source into other projects, so we can drop our notices about replacing links with full license text. Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority of the replacements mechanically. Manually fix up shebang lines and trailing newlines in a few files. Manually update the notices in a few files that the script does not handle.
* Fortran: Use module dir flag if needed for default module directoryBrad King2016-09-201-2/+3
| | | | | | | | | | | | | | Our buildsystem model says that the default Fortran module output directory is the build tree directory corresponding to the source tree `CMakeLists.txt` file adding the current target. Extend `cmGeneratorTarget::GetFortranModuleDirectory` to allow generators to pass in the compiler working directory. If the working directory does not match the default Fortran module output directory then we need an explicit module directory flag (e.g. `-J`) to tell the compiler to put/use modules in the latter. This does not affect the Makefile generator but will be useful for future introduction of Fortran support to the Ninja generator.
* cmGeneratorTarget: factor out common part of AddSources commandsDaniel Pfeifer2016-09-081-0/+2
|
* fix a load of include-what-you-use violationsDaniel Pfeifer2016-09-031-1/+12
|
* use CM_NULLPTRDaniel Pfeifer2016-06-281-3/+3
|
* cmGeneratorTarget: Adopt Fortran module directory generationTobias Hunger2016-06-171-0/+6
| | | | | | | | | Move code to create/get the fortran module directory from the cmCommonTargetGenerator to cmGeneratorTarget. Rename the ComputeFortranModuleDirectory method to CreateFortranModuleDirectory as this method *creates* the directory if it is missing.
* Revise C++ coding style using clang-formatKitware Robot2016-05-161-114/+134
| | | | | | | | | | | | | Run the `Utilities/Scripts/clang-format.bash` script to update all our C++ code to a new style defined by `.clang-format`. Use `clang-format` version 3.8. * If you reached this commit for a line in `git blame`, re-run the blame operation starting at the parent of this commit to see older history for the content. * See the parent commit for instructions to rebase a change across this style transition commit.
* Make cmLinkInterface:: and cmGeneratorTarget::Multiplicity unsigned intsChristoph GrĂ¼ninger2016-02-041-1/+1
|
* Remove temporary allocations when calling cmGeneratorTarget::GetName.Milian Wolff2016-01-201-1/+1
| | | | | | | | | | | | | | This happens quite often from within comparisons such as in NamedGeneratorTargetFinder or FindGeneratorTargetImpl. It is the top hotspot of both, number of allocations as well as number of temporary allocations - the majority of calls lead to temporary allocations. In raw numbers, this patch removes ~1E6 temporary allocations of 1.5E6 temporary allocations in total when running the cmake daemon on the KDevelop build dir. That is 2/3 of the total. This hotspot was found with heaptrack.
* Refactor `.def` file lookupTim Grothe2015-11-041-1/+1
| | | | | Return a `cmSourceFile const*` from GetModuleDefinitionFile so that callers can get more information than just the path to the file.
* cmGeneratorTarget: Add API for globally visible IMPORTEDStephen Kelly2015-10-271-0/+1
|
* cmGeneratorTarget: Port cmOptionalLinkImplementationStephen Kelly2015-10-271-1/+1
|
* cmGeneratorTarget: Add API for property keysStephen Kelly2015-10-271-0/+1
|
* cmGeneratorTarget: Move LinkLanguagePropagatesToDependents from cmTargetStephen Kelly2015-10-271-0/+3
|
* cmGeneratorTarget: Add GetUtilityBacktrace APIStephen Kelly2015-10-271-0/+2
|
* cmGeneratorTarget: Add GetUtilities APIStephen Kelly2015-10-271-0/+1
|
* cmGeneratorTarget: Add GetLinkDirectories API.Stephen Kelly2015-10-261-0/+2
|
* cmGeneratorTarget: Move GetFrameworkVersion from cmTargetStephen Kelly2015-10-261-0/+4
|
* cmGeneratorTarget: Add API for target-relative commands.Stephen Kelly2015-10-261-0/+4
|
* Makefiles: Port progress marks to cmGeneratorTarget.Stephen Kelly2015-10-241-0/+5
|
* cmGlobalGenerator: Move GeneratorTargetsType to usage site.Stephen Kelly2015-10-241-8/+0
|
* cmGeneratorTarget: Copy the policy map from the cmTarget.Stephen Kelly2015-10-201-0/+9
|
* cmGeneratorTarget: Move IsDLLPlatform from cmTarget.Stephen Kelly2015-10-201-0/+4
|
* cmGeneratorTarget: Move HaveWellDefinedOutputFiles from cmTarget.Stephen Kelly2015-10-201-0/+3
|
* cmGeneratorTarget: Move GetExportMacro from cmTarget.Stephen Kelly2015-10-201-0/+6
|
* cmGeneratorTarget: Provide direct access to the backtrace.Stephen Kelly2015-10-201-0/+2
|
* cmGeneratorTarget: Copy IsExecutableWithExports from cmTarget.Stephen Kelly2015-10-201-0/+2
|
* cmGeneratorTarget: Move IsCFBundleOnApple from cmTarget.Stephen Kelly2015-10-191-0/+3
|
* cmGeneratorTarget: Move IsXCTestOnApple from cmTarget.Stephen Kelly2015-10-191-0/+3
|
* cmGeneratorTarget: Copy IsAppBundleOnApple from cmTarget.Stephen Kelly2015-10-191-0/+3
| | | | Leave the cmTarget method behind for now to implement cmInstallCommand.
* cmGeneratorTarget: Copy IsFrameworkOnApple from cmTarget.Stephen Kelly2015-10-191-0/+4
| | | | Leave the cmTarget method behind for now to implement cmInstallCommand.
* cmGeneratorTarget: Move IsLinkable from cmTarget.Stephen Kelly2015-10-191-0/+3
|
* cmGeneratorTarget: Move GetExportName from cmTarget.Stephen Kelly2015-10-181-0/+2
|
* cmGeneratorTarget: Move ComputeVersionedName from cmTarget.Stephen Kelly2015-10-161-0/+7
|
* cmGeneratorTarget: Move GetTargetVersion from cmTarget.Stephen Kelly2015-10-161-0/+11
|
* cmGeneratorTarget: Move CheckCMP0004 from cmTarget.Stephen Kelly2015-10-161-0/+3
|
* cmGeneratorTarget: Move ImportInfo from cmTarget.Stephen Kelly2015-10-161-0/+22
|
* cmGeneratorTarget: Move ImportedGetLocation from cmTarget.Stephen Kelly2015-10-161-0/+2
|
* cmGeneratorTarget: Move GetFullNameImported from cmTarget.Stephen Kelly2015-10-161-0/+3
|
* cmGeneratorTarget: Move GetObjectLibrariesCMP0026 from cmTarget.Stephen Kelly2015-10-161-0/+3
|
* cmGeneratorTarget: Use enum for GetType.Stephen Kelly2015-10-141-1/+1
|
* cmGeneratorTarget: Move GetSupportDirectory from cmTarget.Stephen Kelly2015-10-121-0/+3
|
* cmGeneratorTarget: Move HasImportLibrary from cmTarget.Stephen Kelly2015-10-121-0/+3
|
* cmGeneratorTarget: Move HasImplibGNUtoMS from cmTarget.Stephen Kelly2015-10-121-0/+8
|