summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalGenerator.h
Commit message (Collapse)AuthorAgeFilesLines
* use CM_NULLPTRDaniel Pfeifer2016-06-281-4/+4
|
* cmLocalGenerator: Adopt target compile flag generationTobias Hunger2016-06-171-0/+3
| | | | | | Factor the flag generation out of cmCommonTargetGenerator::GetFlags into a new cmLocalGenerator::GetTargetCompileFlags method. This will allow it to be used without a target generator available.
* cmLocalGenerator: Add method to get Fortran-specific compiler flagsBrad King2016-06-171-0/+2
| | | | | | | | | | Add a cmLocalGenerator::GetTargetFortranFlags virtual method to get generator-specific generation of Fortran-specific flags. Implement it in cmLocalCommonGenerator by moving the implementation from cmCommonTargetGenerator::AddFortranFlags. This will allow it to be used without having a target generator available. Inspired-by: Tobias Hunger <tobias.hunger@qt.io>
* Merge topic 'avoid-cmMakefile-IssueMessage-after-configure'Brad King2016-06-131-0/+1
|\ | | | | | | | | | | | | | | ea5324cd cmMakefile: Port messages for compile features to cmake df8c3130 cmGlobalGenerator: Don't use cmMakefile::IssueMessage after configure 946d1e50 cmMakefile: Avoid IssueMessage after configure is finished 096c7754 cmLocalGenerator: Store Backtrace for the directory
| * cmLocalGenerator: Store Backtrace for the directoryStephen Kelly2016-06-121-0/+1
| | | | | | | | Don't rely on cmMakefile to provide that. Use it to issue messages.
* | cmLocalGenerator: Add GetTargetDefines to get all defines for a targetTobias Hunger2016-06-101-0/+3
| |
* | cmLocalGenerator: Constify AppendDefines and AddCompileDefinitionsBrad King2016-06-101-4/+6
|/
* cmLocalGenerator: Adopt GetFrameworkFlags methodTobias Hunger2016-06-091-0/+4
| | | | Move it from cmCommonTargetGenerator.
* cmLocalGenerator: Pass configuration to GetTargetFlagsTobias Hunger2016-06-081-4/+4
| | | | | Move the configuration lookup to call sites. This will allow multi-configuration callers to use the method.
* 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>.