summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalGenerator.h
Commit message (Collapse)AuthorAgeFilesLines
* Use enums defined in cmOutputConverter using their fully qualified name.Daniel Pfeifer2016-05-251-5/+7
| | | | | | | | | Mostly automated: values=("RelativeRoot" "NONE" "FULL" "HOME" "START" "HOME_OUTPUT" "START_OUTPUT" "OutputFormat" "UNCHANGED" "MAKERULE" "SHELL" "WATCOMQUOTE" "RESPONSE" "FortranFormat" "FortranFormatNone" "FortranFormatFixed" "FortranFormatFree") for i in "${values[@]}"; do git grep -l cmLocalGenerator::$i | xargs sed -i "s|cmLocalGenerator::$i|cmOutputConverter::$i|g"; done
* Revise C++ coding style using clang-formatKitware Robot2016-05-161-61/+49
| | | | | | | | | | | | | 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.
* GHS: Shorten long object paths with duplicate source namesGeoff Viola2016-05-061-0/+6
| | | | | Detect when the resulting object path is too long and compute an alternative name using a hash.
* Format include directive blocks and ordering with clang-formatBrad King2016-04-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sort include directives within each block (separated by a blank line) in lexicographic order (except to prioritize `sys/types.h` first). First run `clang-format` with the config file: --- SortIncludes: false ... Commit the result temporarily. Then run `clang-format` again with: --- SortIncludes: true IncludeCategories: - Regex: 'sys/types.h' Priority: -1 ... Commit the result temporarily. Start a new branch and cherry-pick the second commit. Manually resolve conflicts to preserve indentation of re-ordered includes. This cleans up the include ordering without changing any other style. Use the following command to run `clang-format`: $ git ls-files -z -- \ '*.c' '*.cc' '*.cpp' '*.cxx' '*.h' '*.hh' '*.hpp' '*.hxx' | egrep -z -v '(Lexer|Parser|ParserHelper)\.' | egrep -z -v '^Source/cm_sha2' | egrep -z -v '^Source/(kwsys|CursesDialog/form)/' | egrep -z -v '^Utilities/(KW|cm).*/' | egrep -z -v '^Tests/Module/GenerateExportHeader' | egrep -z -v '^Tests/RunCMake/CommandLine/cmake_depends/test_UTF-16LE.h' | xargs -0 clang-format -i This selects source files that do not come from a third-party. Inspired-by: Daniel Pfeifer <daniel@pfeifer-mail.de>
* Source: Stabilize include orderBrad King2016-04-291-0/+1
| | | | | Each source file has a logical first include file. Include it in an isolated block so that tools that sort includes do not move them.
* Rename local target lookup methods to clarify purposeBrad King2016-04-011-1/+2
| | | | | | | | | | Rename methods: * `cmMakefile::Find{ => LocalNonAlias}Target` * `cmLocalGenerator::Find{ => LocalNonAlias}GeneratorTarget` These names clarify that they are for directory-local target names and do not consider alias targets.
* Port CMake from cmIML to KWIMLBrad King2015-12-181-2/+2
| | | | KWIML no longer uses a configured prefix.
* cmGlobalGenerator: Remove map from cmTarget to cmGeneratorTargetStephen Kelly2015-10-271-0/+2
| | | | | | | The configure-time and generate-time types should be completely independent. Add ownership of cmGeneratorTarget instances to the cmLocalGenerator.
* cmLocalGenerator: Port Find method away from GetGeneratorTargetStephen Kelly2015-10-271-0/+5
| | | | Mirror the cmMakefile::FindTarget method.
* cmLocalGenerator: Store imported targets in a separate container.Stephen Kelly2015-10-271-0/+2
|
* cmLocalGenerator: Port FindGeneratorTarget away from GetGeneratorTargetStephen Kelly2015-10-271-0/+1
|
* cmLocalGenerator: Add IsRootMakefile APIStephen Kelly2015-10-271-0/+2
|
* cmLocalGenerator: Add GetPolicyStatus APIStephen Kelly2015-10-271-0/+2
|
* cmInstallTargetGenerator: Get a cmGeneratorTarget directly.Stephen Kelly2015-10-241-0/+1
| | | | Extend the cmGeneratorTarget API to make this possible.
* cmLocalGenerator: Store a vector of generator targets.Stephen Kelly2015-10-211-3/+3
| | | | Not a map from cmTarget to cmGeneratorTarget.
* cmLocalGenerator: Remove cmGeneratorTargetsType from setter API.Stephen Kelly2015-10-201-4/+0
|
* cmLocalGenerator: Port PList handling to cmGeneratorTarget.Stephen Kelly2015-10-181-2/+3
|
* cmLocalGenerator: Port policy handling to cmGeneratorTarget.Stephen Kelly2015-10-171-1/+1
|
* cmLocalGenerator: Port some API to cmGeneratorTarget.Stephen Kelly2015-10-171-10/+12
|
* cmLocalGenerator: Port GetTargetDirectory to cmGeneratorTarget.Stephen Kelly2015-10-141-1/+2
|
* cmLocalGenerator: Store cmGeneratorTargets.Stephen Kelly2015-10-141-0/+14
| | | | Relieve cmMakefile of this responsibility.
* Merge topic 'add-cmLocalGenerator-API'Brad King2015-10-121-0/+10
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 223d0efe Remove some needless GetMakefile() calls. a367416c cmLocalGenerator: Add current source directory accessor. bbef3c2d cmLocalGenerator: Add current binary directory accessor. 12cb3bdc cmLocalGenerator: Add Home directory accessors. 72efa15d Eclipse: Port API to cmLocalGenerator. f2a641d6 Kate: Remove unused variables. 10cf42f5 Kate: Port API to cmLocalGenerator. e46ef270 export: Port internal method to cmGeneratorTarget. 53d3a1c9 cmMakefile: Remove unused GetProjectName calls. 4ab2750c cmLocalGenerator: Add GetProjectName method. c8187f41 cmCPluginAPI: Inline code to get project name. 8c6e6dd3 cmMakefile: Inline initialization of project name. 27916f2c cmLocalGenerator: Add cmake instance accessor.
| * cmLocalGenerator: Add current source directory accessor.Stephen Kelly2015-10-101-0/+1
| |
| * cmLocalGenerator: Add current binary directory accessor.Stephen Kelly2015-10-101-0/+2
| |
| * cmLocalGenerator: Add Home directory accessors.Stephen Kelly2015-10-081-0/+3
| | | | | | | | Reduce reasons for cmLocalGenerator to have a cmMakefile.
| * cmLocalGenerator: Add GetProjectName method.Stephen Kelly2015-10-081-0/+2
| |
| * cmLocalGenerator: Add cmake instance accessor.Stephen Kelly2015-10-081-0/+2
| |
* | cmLocalGenerator: Devirtualize method.Stephen Kelly2015-10-081-1/+1
|/
* cmLocalGenerator: Constify target in API.Stephen Kelly2015-10-051-1/+1
|
* cmLocalGenerator: Compute object max path on construction.Stephen Kelly2015-09-241-1/+2
|
* Add support for *.manifest source files with MSVC toolsBrad King2015-09-171-0/+1
| | | | | | | | Classify .manifest sources separately, add dependencies on them, and pass them to the MS manifest tool to merge with linker-generated manifest files. Inspired-by: Gilles Khouzam <gillesk@microsoft.com>
* Merge topic 'refactor-compute'Brad King2015-08-311-1/+1
|\ | | | | | | | | | | | | 616d8f02 cmGeneratorTarget: Rename method to match operation. ec56d244 cmGlobalGenerator: Process evaluation files after target depends. 1e5349a5 cmGlobalGenerator: Access makefile from makefiles container.
| * cmGeneratorTarget: Rename method to match operation.Stephen Kelly2015-08-301-1/+1
| | | | | | | | | | The manifest is computed, not generated, according to current language used in cmake method naming.
* | cmLocalGenerator: Create from already-constructed cmMakefile.Stephen Kelly2015-08-281-1/+1
| | | | | | | | Don't manage the lifetime of the cmMakefile with cmLocalGenerator.
* | cmLocalGenerator: Remove Parent pointer.Stephen Kelly2015-08-281-6/+1
|/
* cmLocalGenerator: Remove unused Children member.Stephen Kelly2015-08-241-6/+0
|
* cmMakefile: Store EvaluationFiles.Stephen Kelly2015-08-011-0/+2
| | | | | Relieve the cmGlobalGenerator of this responsibility. Evaluate the generator expressions in the context of the cmLocalGenerator.
* cmLocalGenerator: Remove unused AddCustomCommandToCreateObject method.Stephen Kelly2015-07-271-6/+0
|
* cmLocalGenerator: Remove unused AddBuildTargetRule method.Stephen Kelly2015-07-271-5/+0
|
* cmLocalGenerator: Remove CreateCustomTargetsAndCommands method.Stephen Kelly2015-07-271-6/+0
| | | | | It loops over cmGeneratorTargets, but at the point it is called, there are no cmGeneratorTargets. This must be dead code.
* Factor an <INCLUDES> placeholder out of <FLAGS> in rule variablesBrad King2015-07-131-0/+1
| | | | | | | | | | | Teach the Makefile and Ninja generators to substitute for an <INCLUDES> placeholder instead of putting -I in <FLAGS>. Update our values for CMAKE_<LANG>_COMPILE_OBJECT, CMAKE_<LANG>_CREATE_ASSEMBLY_SOURCE, and CMAKE_<LANG>_CREATE_PREPROCESSED_SOURCE to place <INCLUDES> just before <FLAGS>.
* cmLocalGenerator: Constify GetIncludeDirectories method.Stephen Kelly2015-06-211-1/+1
|
* cmMakefile: Move IsRoot API from cmLocalGenerator.Stephen Kelly2015-06-211-3/+0
|
* cmLocalGenerator: Add IssueMessage method.Stephen Kelly2015-06-211-0/+4
| | | | For use at generate-time instead of the cmMakefile method of the same name.
* cmGlobalGenerator: Add ComputeHomeRelativeOutputPath method.Stephen Kelly2015-06-131-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Fix generation of tgt/fast build targets. Commit 363caa2f (cmLocalGenerator: De-virtualize Configure()., 2015-05-30) moved the computation of HomeRelativeOutputPath from Configure-time to Generate-time, because it is only used at Generate-time. However, that commit caused the member for one local generator to be computed immediately before generating with that local generator, whereas previously the members of all local generators were computed before generating any of them. The HomeRelativeOutputPath is used by the GetRelativeTargetDirectory method, which is called by the cmGlobalUnixMakefileGenerator3::WriteConvenienceRules method. That method is called by the cmLocalUnixMakefileGenerator3::WriteLocalMakefile method when generating for the top-most (ie, the first) local generator. At that point, the HomeRelativeOutputPath is not yet computed. Fix that by computing the member just before generating anything. This will eventually be done in the cmLocalUnixMakefileGenerator3 constructor instead, but further refactoring is needed to make that possible.
* cmLocalGenerator: Remove ConfigureFinalPass.Stephen Kelly2015-06-091-5/+0
| | | | | Call the cmMakefile implementation directly. This is a configure-time construct.
* Merge topic 'move-Feature-API'Brad King2015-06-081-0/+3
|\ | | | | | | | | | | f573bd22 cmLocalGenerator: Add Feature API from cmMakefile. ccbc2259 cmGeneratorTarget: Move Feature API from cmTarget.
| * cmLocalGenerator: Add Feature API from cmMakefile.Stephen Kelly2015-06-061-0/+3
| |
* | cmOutputConverter: Extract from cmLocalGenerator.Stephen Kelly2015-06-061-80/+2
|/ | | | | | | | | | | The Convert methods never belonged to the local generator concept, so split them out now. The cmOutputConverter is cheap to construct and destroy, so it can be instantiated where needed to perform conversions. This will allow further decoupling of cmLocalGenerator from the configure step. Inherit cmLocalGenerator from cmOutputConverter for the purpose of source compatibility.
* cmMakefile: Move Configure responsibility from cmLocalGenerator.Stephen Kelly2015-06-041-6/+0
| | | | The generator should only have a function at generate time.