summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalUnixMakefileGenerator3.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Convert: Inline uses of START_OUTPUTStephen Kelly2016-09-191-4/+7
|
* Common: Use a string instead of enum for WorkingDirectoryStephen Kelly2016-09-191-1/+1
|
* Convert: Move access to BinaryDirectory out of loopsStephen Kelly2016-09-191-2/+2
|
* Convert: Inline HOME_OUTPUT MAKERULE conversionStephen Kelly2016-09-191-4/+5
|
* Convert: Move access to BinaryDirectory out of loopsStephen Kelly2016-09-191-4/+2
|
* Convert: Avoid HOME_OUTPUT enum when converting to relative pathsStephen Kelly2016-09-191-3/+3
|
* Convert: Move access to CurrentBinaryDirectory out of loopsStephen Kelly2016-09-191-5/+5
|
* Convert: Avoid START_OUTPUT enum when converting to relative pathsStephen Kelly2016-09-191-2/+2
|
* fix a load of include-what-you-use violationsDaniel Pfeifer2016-09-031-3/+13
|
* Convert: Replace Convert(FULL) with equivalentStephen Kelly2016-08-271-15/+17
| | | | | This is more explicit than funnelling everything through the Convert method.
* Convert: Replace trivial conversion with new methodStephen Kelly2016-08-271-4/+7
|
* Convert: Replace UNCHANGED conversions with new API callStephen Kelly2016-08-271-2/+2
|
* Convert: Replace FULL conversions with equivalentStephen Kelly2016-08-271-2/+1
|
* Convert: Replace uses of Convert(NONE)Stephen Kelly2016-08-271-12/+10
| | | | These are equivalent to ConvertToOutputFormat.
* Makefiles: Replace ternaries with if()sStephen Kelly2016-08-271-4/+8
|
* Makefiles: Inline MakeLauncher into only callerStephen Kelly2016-08-271-32/+27
|
* Makefiles: Simplify MakeLauncher return valueStephen Kelly2016-08-271-3/+2
| | | | Bonus NRVO.
* Makefiles: Invert logic in MakeLauncherStephen Kelly2016-08-271-20/+19
| | | | Make it easier to inline into the caller.
* Makefiles: Remove useless use of ConvertStephen Kelly2016-08-271-2/+1
| | | | Convert with NONE and UNCHANGED is a no-op.
* Makefiles: Replace method with Wacom specific APIStephen Kelly2016-08-271-6/+16
| | | | | | | | The existing method uses RelativeRoot NONE and FULL values. In principle, those should be segregated interfaces. Mixing NONE and FULL into the RelativeRoot enum is a case of http://thedailywtf.com/articles/What_Is_Truth_0x3f_
* Makefiles: Deduplicate variableStephen Kelly2016-08-271-4/+5
|
* Makefiles: Change AppendCustomCommand API to stringsStephen Kelly2016-08-271-7/+6
| | | | | Avoid the RelativeRoot enum. Supply the HOME_OUTPUT string at each callsite to make the parameter non-defaulted.
* Makefiles: Change signature of AppendCustomCommandStephen Kelly2016-08-271-3/+3
| | | | The RelativeRoot parameter will become non-default.
* Makefiles: Port CreateCDCommand to string-based APIStephen Kelly2016-08-271-14/+13
|
* Makefiles: Use string overload of ConvertToOutputForExistingStephen Kelly2016-08-271-1/+1
| | | | | The string is already determined so, no need to call the overload to determine it again.
* Makefiles: Rename local variableStephen Kelly2016-08-271-2/+2
| | | | | | In this context, 'ret' means 'return', but I don't really know what that means. It is not consistent with types and other variables used in the vicinity for these things.
* Avoid using KWSys auto_ptr by adopting it ourselvesBrad King2016-06-291-2/+2
| | | | | | | | | | | | Replace use of cmsys::auto_ptr with a CM_AUTO_PTR macro that maps to our own implementation adopted from the KWSys auto_ptr implementation. Later we may be able to map CM_AUTO_PTR to std::auto_ptr on compilers that do not warn about it. Automate the client site conversions: git grep -l auto_ptr -- Source/ | grep -v Source/kwsys/ | xargs sed -i \ 's|cmsys::auto_ptr|CM_AUTO_PTR|;s|cmsys/auto_ptr.hxx|cm_auto_ptr.hxx|'
* use CM_NULLPTRDaniel Pfeifer2016-06-281-6/+6
|
* cmOutputConverter: remove unused 'local' argumentDaniel Pfeifer2016-06-201-4/+3
|
* Refactor Makefile/Ninja tool working directory storageBrad King2016-06-171-1/+1
| | | | | Move cmCommonTargetGenerator::WorkingDirectory to cmLocalCommonGenerator and add an access method.
* Simplify boolean expressionsDaniel Pfeifer2016-06-021-1/+1
| | | | | | Use clang-tidy's readability-simplify-boolean-expr checker. After applying the fix-its, revise all changes *very* carefully. Be aware of false positives and invalid changes.
* Remove unnecessary local copies.Daniel Pfeifer2016-05-261-2/+1
| | | | | | | Use clang-tidy's performance-unnecessary-copy-initialization checker. After applying the fix-its (which turns the copies into const&), revise the changes and see whether the copies can be removed entirely by using the original instead.
* Merge topic 'improve-character-find-and-replace'Brad King2016-05-251-6/+6
|\ | | | | | | | | | | | | | | 5784747d Improve string find: prefer character overloads. 5cec953e Use std::replace for replacing chars in strings. 2a1a2033 cmExtraEclipseCDT4Generator: use std::replace. 34bc6e1f cmCTestScriptHandler: don't call find repeatedly.
| * Improve string find: prefer character overloads.Daniel Pfeifer2016-05-241-5/+5
| | | | | | | | | | Apply fix-its from clang-tidy's performance-faster-string-find checker. Ignore findings in kwsys.
| * Use std::replace for replacing chars in strings.Daniel Pfeifer2016-05-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | Find uses of `cmSystemTools::ReplaceString` where both `replace` and `with` are string literals with a size of one. Automate with: git grep -l ReplaceString | xargs sed -i "s|cmSystemTools::ReplaceString(\([^,]*\), \"\(.\)\", \"\(.\)\");|std::replace(\1.begin(), \1.end(), '\2', '\3');|g" git grep -l ReplaceString | xargs sed -i "s|cmSystemTools::ReplaceString(\([^,]*\), \"\(.\)\", \"\\\\\\\\\");|std::replace(\1.begin(), \1.end(), '\2', '\\\\\\\\');|g" git grep -l ReplaceString | xargs sed -i "s|cmSystemTools::ReplaceString(\([^,]*\), \"\\\\\\\\\", \"\(.\)\");|std::replace(\1.begin(), \1.end(), '\\\\\\\\', '\2');|g"
* | Use enums defined in cmOutputConverter using their fully qualified name.Daniel Pfeifer2016-05-251-48/+64
|/ | | | | | | | | 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-1028/+712
| | | | | | | | | | | | | 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.
* Remove `//------...` horizontal separator commentsBrad King2016-05-091-46/+0
| | | | | | | | | | | | | | | | | | | | | | | | Modern editors provide plenty of ways to visually separate functions. Drop the explicit comments that previously served this purpose. Use the following command to automate the change: $ git ls-files -z -- \ "*.c" "*.cc" "*.cpp" "*.cxx" "*.h" "*.hh" "*.hpp" "*.hxx" | egrep -z -v "^Source/cmCommandArgumentLexer\." | egrep -z -v "^Source/cmCommandArgumentParser(\.y|\.cxx|Tokens\.h)" | egrep -z -v "^Source/cmDependsJavaLexer\." | egrep -z -v "^Source/cmDependsJavaParser(\.y|\.cxx|Tokens\.h)" | egrep -z -v "^Source/cmExprLexer\." | egrep -z -v "^Source/cmExprParser(\.y|\.cxx|Tokens\.h)" | egrep -z -v "^Source/cmFortranLexer\." | egrep -z -v "^Source/cmFortranParser(\.y|\.cxx|Tokens\.h)" | egrep -z -v "^Source/cmListFileLexer\." | egrep -z -v "^Source/cm_sha2" | egrep -z -v "^Source/(kwsys|CursesDialog/form)/" | egrep -z -v "^Utilities/(KW|cm).*/" | xargs -0 sed -i '/^\(\/\/---*\|\/\*---*\*\/\)$/ {d;}' This avoids modifying third-party sources and generated sources.
* Isolate formatted streaming blocks with clang-format off/onBrad King2016-05-061-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The clang-format tool can do a good job formatting most code, but well-organized streaming blocks are best left manually formatted. Find blocks of the form os << "...\n" "...\n" ; using the command $ git ls-files -z -- Source | egrep -v -z '^Source/kwsys/' | xargs -0 pcregrep -M --color=always -B 1 -A 1 -n \ '<<[^\n]*\n(^ *("[^\n]*("|<<|;)$|;)\n){2,}' Find blocks of the form os << "...\n" << "...\n" << "...\n"; using the command $ git ls-files -z -- Source | egrep -v -z '^Source/kwsys/' | xargs -0 pcregrep -M --color=always -B 1 -A 1 -n \ '<<[^\n]*\n(^ *<<[^\n]*(\\n"|<<|;)$\n){2,}' Surround such blocks with the pair /* clang-format off */ ... /* clang-format on */ in order to protect them from update by clang-format. Use the C-style `/*...*/` comments instead of C++-style `//...` comments in order to prevent them from ever being swallowed by re-formatting of surrounding comments.
* Format include directive blocks and ordering with clang-formatBrad King2016-04-291-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Makefile: Optionally scan only source and build trees for dependenciesAttila Krasznahorkay2016-03-221-0/+61
| | | | Add a `CMAKE_DEPENDS_IN_PROJECT_ONLY` variable to activate the behavior.
* Merge topic 'minor-cleanups'Brad King2015-10-281-11/+10
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 13a37f5f cmMakefile: Fix typo in comment 958508bb cmMakefile: Fix style 91a829c1 Makefiles: Remove unused variable e0213882 cmTarget: Remove obsolete member 0554c2c9 cmTarget: Fix style b22e5d0a Remove some obsolete declarations ce43ed2c Use LocalGenerator when possible d90c9738 Makefiles: Remove some unneeded casts 331023ae Export: Remove unused variable a03f3d0e cmFunctionBlocker: Constify method d50c4220 Xcode: Fix typo in comment 803f1901 Xcode: Remove trailing semicolon
| * Makefiles: Remove unused variableStephen Kelly2015-10-271-1/+0
| |
| * Use LocalGenerator when possibleStephen Kelly2015-10-261-10/+10
| |
* | cmLocalGenerator: Add IsRootMakefile APIStephen Kelly2015-10-271-3/+3
| |
* | cmGeneratorTarget: Add GetUtilities APIStephen Kelly2015-10-271-2/+2
| |
* | cmGeneratorTarget: Add API for target-relative commands.Stephen Kelly2015-10-261-4/+4
|/
* Makefiles: Port to cmGeneratorTarget.Stephen Kelly2015-10-241-5/+6
|
* Use cmLocalGenerator at generate-time.Stephen Kelly2015-10-241-1/+1
|
* Port to GetGeneratorTargets.Stephen Kelly2015-10-241-15/+15
|